diff --git a/components/esp_http_client/esp_http_client.c b/components/esp_http_client/esp_http_client.c index e80ecca292..49df738514 100644 --- a/components/esp_http_client/esp_http_client.c +++ b/components/esp_http_client/esp_http_client.c @@ -851,8 +851,9 @@ static esp_err_t esp_http_check_response(esp_http_client_handle_t client) case HttpStatus_PermanentRedirect: if (client->disable_auto_redirect) { http_dispatch_event(client, HTTP_EVENT_REDIRECT, NULL, 0); + } else { + ESP_ERROR_CHECK(esp_http_client_set_redirection(client)); } - esp_http_client_set_redirection(client); client->redirect_counter ++; client->process_again = 1; break; diff --git a/examples/protocols/esp_http_client/main/esp_http_client_example.c b/examples/protocols/esp_http_client/main/esp_http_client_example.c index 7fac32e6e6..a24724a089 100644 --- a/examples/protocols/esp_http_client/main/esp_http_client_example.c +++ b/examples/protocols/esp_http_client/main/esp_http_client_example.c @@ -115,6 +115,7 @@ esp_err_t _http_event_handler(esp_http_client_event_t *evt) ESP_LOGD(TAG, "HTTP_EVENT_REDIRECT"); esp_http_client_set_header(evt->client, "From", "user@example.com"); esp_http_client_set_header(evt->client, "Accept", "text/html"); + esp_http_client_set_redirection(evt->client); break; } return ESP_OK;