mirror of
https://github.com/espressif/esp-idf
synced 2025-04-09 16:20:09 -04:00
Add a esp_http_client_set_redirection
function When using direct operations instead of esp_http_client_perform
, we need a way to set redirection URL when we get 30x response codes. Added the function for the same. User can now check status code and call esp_http_client_set_redirection
function to enable redirection. Related change in adf: https://gitlab.espressif.cn:6688/adf/esp-adf-internal/merge_requests/187
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
This commit is contained in:
parent
225bc0f80a
commit
b2384dc9ee
@ -567,6 +567,17 @@ esp_err_t esp_http_client_cleanup(esp_http_client_handle_t client)
|
|||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
esp_err_t esp_http_client_set_redirection(esp_http_client_handle_t client)
|
||||||
|
{
|
||||||
|
if (client == NULL) {
|
||||||
|
return ESP_ERR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
if (client->location == NULL) {
|
||||||
|
return ESP_ERR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
return esp_http_client_set_url(client, client->location);
|
||||||
|
}
|
||||||
|
|
||||||
static esp_err_t esp_http_check_response(esp_http_client_handle_t client)
|
static esp_err_t esp_http_check_response(esp_http_client_handle_t client)
|
||||||
{
|
{
|
||||||
char *auth_header = NULL;
|
char *auth_header = NULL;
|
||||||
|
@ -373,6 +373,18 @@ esp_err_t esp_http_client_cleanup(esp_http_client_handle_t client);
|
|||||||
*/
|
*/
|
||||||
esp_http_client_transport_t esp_http_client_get_transport_type(esp_http_client_handle_t client);
|
esp_http_client_transport_t esp_http_client_get_transport_type(esp_http_client_handle_t client);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set redirection URL.
|
||||||
|
* When received the 30x code from the server, the client stores the redirect URL provided by the server.
|
||||||
|
* This function will set the current URL to redirect to enable client to execute the redirection request.
|
||||||
|
*
|
||||||
|
* @param[in] client The esp_http_client handle
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* - ESP_OK
|
||||||
|
* - ESP_FAIL
|
||||||
|
*/
|
||||||
|
esp_err_t esp_http_client_set_redirection(esp_http_client_handle_t client);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user