Skip to content

Commit c87cb85

Browse files
committed
fix(http): fix invalid content-length header in http get
1 parent c9df77e commit c87cb85

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

components/esp_http_client/esp_http_client.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,12 @@ static esp_err_t esp_http_client_connect(esp_http_client_handle_t client)
14931493
static int http_client_prepare_first_line(esp_http_client_handle_t client, int write_len)
14941494
{
14951495
if (write_len >= 0) {
1496-
http_header_set_format(client->request->headers, "Content-Length", "%d", write_len);
1496+
const bool length_required = (client->connection_info.method != HTTP_METHOD_GET &&
1497+
client->connection_info.method != HTTP_METHOD_HEAD &&
1498+
client->connection_info.method != HTTP_METHOD_DELETE);
1499+
if (write_len != 0 || length_required) {
1500+
http_header_set_format(client->request->headers, "Content-Length", "%d", write_len);
1501+
}
14971502
} else {
14981503
esp_http_client_set_header(client, "Transfer-Encoding", "chunked");
14991504
}

0 commit comments

Comments
 (0)