Skip to content

Commit 0e91891

Browse files
committed
fix content_length parse error
1 parent bcdca47 commit 0e91891

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
@@ -410,7 +416,7 @@ struct http_async_protocol_handler {
410416
bool is_chunk_encoding;
411417
bool is_chunk_end;
412418
bool is_content_length;
413-
std::size_t content_length;
419+
long long content_length;
414420
};
415421

416422
} // 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