Merge branch 'contrib/github_pr_14459' into 'master'

fix(http): fix invalid content-length header in http get (GitHub PR)

Closes IDFGH-13571

See merge request espressif/esp-idf!33809
This commit is contained in:
Mahavir Jain 2024-09-26 15:05:38 +08:00
commit 2913b72482

View File

@ -1493,7 +1493,12 @@ static esp_err_t esp_http_client_connect(esp_http_client_handle_t client)
static int http_client_prepare_first_line(esp_http_client_handle_t client, int write_len)
{
if (write_len >= 0) {
http_header_set_format(client->request->headers, "Content-Length", "%d", write_len);
const bool length_required = (client->connection_info.method != HTTP_METHOD_GET &&
client->connection_info.method != HTTP_METHOD_HEAD &&
client->connection_info.method != HTTP_METHOD_DELETE);
if (write_len != 0 || length_required) {
http_header_set_format(client->request->headers, "Content-Length", "%d", write_len);
}
} else {
esp_http_client_set_header(client, "Transfer-Encoding", "chunked");
}