LibHTTP: Reset m_content_length if there's a Transfer-Encoding header

This commit is contained in:
Karol Kosek 2021-10-16 20:17:29 +02:00 committed by Andreas Kling
parent 89c87ff7b9
commit 78bebb363b

View file

@ -288,6 +288,11 @@ void Job::on_socket_connected()
} else {
auto transfer_encoding = m_headers.get("Transfer-Encoding");
if (transfer_encoding.has_value()) {
// HTTP/1.1 3.3.3.3:
// If a message is received with both a Transfer-Encoding and a Content-Length header field, the Transfer-Encoding overrides the Content-Length. [...]
// https://httpwg.org/specs/rfc7230.html#message.body.length
m_content_length = {};
// Note: Some servers add extra spaces around 'chunked', see #6302.
auto encoding = transfer_encoding.value().trim_whitespace();