Skip to content

Commit 8ed4591

Browse files
authored
Merge pull request cpp-netlib#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

+10-4
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)