diff --git a/components/esp_http_client/esp_http_client.c b/components/esp_http_client/esp_http_client.c index aa3c81242e..b10f4bd987 100644 --- a/components/esp_http_client/esp_http_client.c +++ b/components/esp_http_client/esp_http_client.c @@ -906,6 +906,16 @@ esp_err_t esp_http_client_set_method(esp_http_client_handle_t client, esp_http_c return ESP_OK; } +esp_err_t esp_http_client_set_timeout_ms(esp_http_client_handle_t client, int timeout_ms) +{ + if (client == NULL) { + return ESP_ERR_INVALID_ARG; + } + + client->timeout_ms = timeout_ms; + return ESP_OK; +} + static int esp_http_client_get_data(esp_http_client_handle_t client) { if (client->state < HTTP_STATE_RES_COMPLETE_HEADER) { diff --git a/components/esp_http_client/include/esp_http_client.h b/components/esp_http_client/include/esp_http_client.h index 249eb217ba..b36333556c 100644 --- a/components/esp_http_client/include/esp_http_client.h +++ b/components/esp_http_client/include/esp_http_client.h @@ -360,6 +360,18 @@ esp_err_t esp_http_client_set_authtype(esp_http_client_handle_t client, esp_http */ esp_err_t esp_http_client_set_method(esp_http_client_handle_t client, esp_http_client_method_t method); +/** + * @brief Set http request timeout + * + * @param[in] client The esp_http_client handle + * @param[in] timeout_ms The timeout value + * + * @return + * - ESP_OK + * - ESP_ERR_INVALID_ARG + */ +esp_err_t esp_http_client_set_timeout_ms(esp_http_client_handle_t client, int timeout_ms); + /** * @brief Delete http request header *