mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
esp_http_client: add flush response
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com> Merges: https://github.com/espressif/esp-idf/pull/5845 Closes: https://github.com/espressif/esp-idf/issues/5814
This commit is contained in:
parent
bb8981903e
commit
bf942a60f3
@ -1377,6 +1377,26 @@ int esp_http_client_read_response(esp_http_client_handle_t client, char *buffer,
|
|||||||
return read_len;
|
return read_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
esp_err_t esp_http_client_flush_response(esp_http_client_handle_t client, int *len)
|
||||||
|
{
|
||||||
|
if (client == NULL) {
|
||||||
|
ESP_LOGE(TAG, "client must not be NULL");
|
||||||
|
return ESP_ERR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
int read_len = 0;
|
||||||
|
while (!esp_http_client_is_complete_data_received(client)) {
|
||||||
|
int data_read = esp_http_client_get_data(client);
|
||||||
|
if (data_read < 0) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
read_len += data_read;
|
||||||
|
}
|
||||||
|
if (len) {
|
||||||
|
*len = read_len;
|
||||||
|
}
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
esp_err_t esp_http_client_get_url(esp_http_client_handle_t client, char *url, const int len)
|
esp_err_t esp_http_client_get_url(esp_http_client_handle_t client, char *url, const int len)
|
||||||
{
|
{
|
||||||
if (client == NULL || url == NULL) {
|
if (client == NULL || url == NULL) {
|
||||||
|
@ -524,6 +524,21 @@ bool esp_http_client_is_complete_data_received(esp_http_client_handle_t client);
|
|||||||
|
|
||||||
int esp_http_client_read_response(esp_http_client_handle_t client, char *buffer, int len);
|
int esp_http_client_read_response(esp_http_client_handle_t client, char *buffer, int len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Process all remaining response data
|
||||||
|
* This uses an internal buffer to repeatedly receive, parse, and discard response data until complete data is processed.
|
||||||
|
* As no additional user-supplied buffer is required, this may be preferrable to `esp_http_client_read_response` in situations where the content of the response may be ignored.
|
||||||
|
*
|
||||||
|
* @param[in] client The esp_http_client handle
|
||||||
|
* @param len Length of data discarded
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* - ESP_OK If successful, len will have discarded length
|
||||||
|
* - ESP_FAIL If failed to read response
|
||||||
|
* - ESP_ERR_INVALID_ARG If the client is NULL
|
||||||
|
*/
|
||||||
|
int esp_http_client_flush_response(esp_http_client_handle_t client, int *len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get URL from client
|
* @brief Get URL from client
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user