Skip to content

Commit 72f3ef8

Browse files
committed
Merge branch 'contrib/github_pr_14512' into 'master'
feat(esp_http_client): Add function to delete all headers set by 'esp_http_client_set_header' (GitHub PR) Closes IDFGH-13628 See merge request espressif/esp-idf!33814
2 parents d2117ad + f9961fd commit 72f3ef8

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

components/esp_http_client/esp_http_client.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,19 +356,40 @@ static int http_on_chunk_header(http_parser *parser)
356356

357357
esp_err_t esp_http_client_set_header(esp_http_client_handle_t client, const char *key, const char *value)
358358
{
359+
if (client == NULL || client->request == NULL || client->request->headers == NULL || key == NULL || value == NULL) {
360+
return ESP_ERR_INVALID_ARG;
361+
}
362+
359363
return http_header_set(client->request->headers, key, value);
360364
}
361365

362366
esp_err_t esp_http_client_get_header(esp_http_client_handle_t client, const char *key, char **value)
363367
{
368+
if (client == NULL || client->request == NULL || client->request->headers == NULL || key == NULL) {
369+
return ESP_ERR_INVALID_ARG;
370+
}
371+
364372
return http_header_get(client->request->headers, key, value);
365373
}
366374

367375
esp_err_t esp_http_client_delete_header(esp_http_client_handle_t client, const char *key)
368376
{
377+
if (client == NULL || client->request == NULL || client->request->headers == NULL || key == NULL) {
378+
return ESP_ERR_INVALID_ARG;
379+
}
380+
369381
return http_header_delete(client->request->headers, key);
370382
}
371383

384+
esp_err_t esp_http_client_delete_all_headers(esp_http_client_handle_t client)
385+
{
386+
if (client == NULL || client->request == NULL || client->request->headers == NULL) {
387+
return ESP_ERR_INVALID_ARG;
388+
}
389+
390+
return http_header_clean(client->request->headers);
391+
}
392+
372393
esp_err_t esp_http_client_get_username(esp_http_client_handle_t client, char **value)
373394
{
374395
if (client == NULL || value == NULL) {

components/esp_http_client/include/esp_http_client.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,17 @@ esp_err_t esp_http_client_set_timeout_ms(esp_http_client_handle_t client, int ti
487487
*/
488488
esp_err_t esp_http_client_delete_header(esp_http_client_handle_t client, const char *key);
489489

490+
/**
491+
* @brief Delete all http request headers
492+
*
493+
* @param[in] client The esp_http_client handle
494+
*
495+
* @return
496+
* - ESP_OK
497+
* - ESP_FAIL
498+
*/
499+
esp_err_t esp_http_client_delete_all_headers(esp_http_client_handle_t client);
500+
490501
/**
491502
* @brief This function will be open the connection, write all header strings and return
492503
*

0 commit comments

Comments
 (0)