Examples clear the HTTP message before reading

fix #1043
This commit is contained in:
Vinnie Falco
2018-02-26 20:25:27 -08:00
parent d6c11a824a
commit 04ced3b954
8 changed files with 32 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Version 160:
* Examples clear the HTTP message before reading
--------------------------------------------------------------------------------
Version 159: Version 159:
* Fix typo in release notes * Fix typo in release notes

View File

@ -114,6 +114,8 @@ to update to the latest Boost release.
* Safe treatment of zero-length string arguments in basic_fields * Safe treatment of zero-length string arguments in basic_fields
* ([issue 1043]) Examples clear the HTTP message before reading
[*API Changes] [*API Changes]
* Remove unintended public members of * Remove unintended public members of

View File

@ -787,6 +787,10 @@ public:
// Set the timer // Set the timer
timer_.expires_after(std::chrono::seconds(15)); timer_.expires_after(std::chrono::seconds(15));
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
http::async_read( http::async_read(
derived().stream(), derived().stream(),

View File

@ -591,6 +591,10 @@ public:
// Set the timer // Set the timer
timer_.expires_after(std::chrono::seconds(15)); timer_.expires_after(std::chrono::seconds(15));
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
http::async_read(socket_, buffer_, req_, http::async_read(socket_, buffer_, req_,
boost::asio::bind_executor( boost::asio::bind_executor(

View File

@ -311,6 +311,10 @@ public:
void void
do_read() do_read()
{ {
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
http::async_read(stream_, buffer_, req_, http::async_read(stream_, buffer_, req_,
boost::asio::bind_executor( boost::asio::bind_executor(

View File

@ -287,6 +287,10 @@ public:
void void
do_read() do_read()
{ {
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
http::async_read(socket_, buffer_, req_, http::async_read(socket_, buffer_, req_,
boost::asio::bind_executor( boost::asio::bind_executor(

View File

@ -320,6 +320,10 @@ public:
for(;;) for(;;)
{ {
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
yield http::async_read(stream_, buffer_, req_, yield http::async_read(stream_, buffer_, req_,
boost::asio::bind_executor( boost::asio::bind_executor(

View File

@ -300,6 +300,10 @@ public:
{ {
for(;;) for(;;)
{ {
// Make the request empty before reading,
// otherwise the operation behavior is undefined.
req_ = {};
// Read a request // Read a request
yield http::async_read(socket_, buffer_, req_, yield http::async_read(socket_, buffer_, req_,
boost::asio::bind_executor( boost::asio::bind_executor(