Skip to content

Commit 8ed4591

Browse files
authored
Merge pull request #721 from chenzhaoyu/fix-content-length
fix content-length parse error
2 parents 3183577 + f8ff77d commit 8ed4591

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

boost/network/protocol/http/client/connection/async_protocol_handler.hpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,15 @@ struct http_async_protocol_handler {
270270
}
271271
trim(header_pair.second);
272272
headers.insert(header_pair);
273-
if (boost::iequals(header_pair.first, "Content-Length")) {
274-
is_content_length = true;
275-
content_length = std::stoi(header_pair.second);
273+
if (!is_content_length &&
274+
boost::iequals(header_pair.first, "Content-Length")) {
275+
try {
276+
content_length = std::stoll(header_pair.second);
277+
is_content_length = true;
278+
}
279+
catch (std::exception&) {
280+
//is_content_length = false;
281+
}
276282
}
277283
}
278284
// determine if the body parser will need to handle chunked encoding
@@ -408,7 +414,7 @@ struct http_async_protocol_handler {
408414
bool is_chunk_encoding;
409415
bool is_chunk_end;
410416
bool is_content_length;
411-
std::size_t content_length;
417+
long long content_length;
412418
};
413419

414420
} // namespace impl

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy