mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Revert "fix(esp_http_client): Call event_handler after header value is received"
This reverts commit 04ac8e43dbaf37e42452fef034606ae3f04e644b. When `http_on_header_event` is called, event_handler is invoked and then the current header key and header value are freed. In the previous approach, `http_on_header_event` was called from `http_on_header_value`, but it lead to an issue where if the value is received in multiple chunks, then the current header key and value were freed and thus header was not processed correctly which might result in connection issues. Calling `http_on_heaher_event` from `http_on_header_field` ensures that the current header field and value are processed properly Fixes https://github.com/espressif/esp-idf/issues/13497 Fixes https://github.com/espressif/esp-idf/issues/13097
This commit is contained in:
parent
f231b262b9
commit
2814b5a330
@ -248,6 +248,7 @@ static int http_on_header_event(esp_http_client_handle_t client)
|
||||
static int http_on_header_field(http_parser *parser, const char *at, size_t length)
|
||||
{
|
||||
esp_http_client_t *client = parser->data;
|
||||
http_on_header_event(client);
|
||||
http_utils_append_string(&client->current_header_key, at, length);
|
||||
|
||||
return 0;
|
||||
@ -268,7 +269,6 @@ static int http_on_header_value(http_parser *parser, const char *at, size_t leng
|
||||
http_utils_append_string(&client->auth_header, at, length);
|
||||
}
|
||||
http_utils_append_string(&client->current_header_value, at, length);
|
||||
http_on_header_event(client);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user