feat(esp_http_client): Add API to support set event handler

This commit is contained in:
Jim
2026-05-12 13:59:01 +08:00
parent 165e10bd58
commit f25d49fbdc
4 changed files with 25 additions and 0 deletions
@@ -560,6 +560,15 @@ esp_err_t esp_http_client_set_user_data(esp_http_client_handle_t client, void *d
return ESP_OK; return ESP_OK;
} }
esp_err_t esp_http_client_set_event_handler(esp_http_client_handle_t client, http_event_handle_cb event_handler)
{
if (client == NULL) {
return ESP_ERR_INVALID_ARG;
}
client->event_handler = event_handler;
return ESP_OK;
}
static esp_err_t _set_config(esp_http_client_handle_t client, const esp_http_client_config_t *config) static esp_err_t _set_config(esp_http_client_handle_t client, const esp_http_client_config_t *config)
{ {
esp_err_t ret = ESP_OK; esp_err_t ret = ESP_OK;
@@ -571,6 +571,18 @@ esp_err_t esp_http_client_get_user_data(esp_http_client_handle_t client, void **
*/ */
esp_err_t esp_http_client_set_user_data(esp_http_client_handle_t client, void *data); esp_err_t esp_http_client_set_user_data(esp_http_client_handle_t client, void *data);
/**
* @brief Set the event handler for the client
*
* @param[in] client The esp_http_client handle
* @param[in] event_handler The event handler
*
* @return
* - ESP_OK
* - ESP_ERR_INVALID_ARG
*/
esp_err_t esp_http_client_set_event_handler(esp_http_client_handle_t client, http_event_handle_cb event_handler);
/** /**
* @brief Get HTTP client session errno * @brief Get HTTP client session errno
* *
@@ -198,6 +198,8 @@ ESP HTTP Client supports event handling by triggering an event handler correspon
To enable event handling, you just need to set a callback function using the :cpp:member:`esp_http_client_config_t::event_handler` member. To enable event handling, you just need to set a callback function using the :cpp:member:`esp_http_client_config_t::event_handler` member.
Also you can set a callback function after the client is initialized using the :cpp:func:`esp_http_client_set_event_handler` function.
ESP HTTP Client Diagnostic Information ESP HTTP Client Diagnostic Information
-------------------------------------- --------------------------------------
@@ -198,6 +198,8 @@ ESP HTTP 客户端支持事件处理,发生相关事件时会触发相应的
通过 :cpp:member:`esp_http_client_config_t::event_handler` 设置回调函数即可启用事件处理功能。 通过 :cpp:member:`esp_http_client_config_t::event_handler` 设置回调函数即可启用事件处理功能。
也可以在客户端初始化后使用 :cpp:func:`esp_http_client_set_event_handler` 函数设置回调函数。
ESP HTTP 客户端诊断信息 ESP HTTP 客户端诊断信息
-------------------------- --------------------------