From 0abb38a310c2ab0ed3f835c8aba02b9202a2b77b Mon Sep 17 00:00:00 2001 From: Mika Fischer Date: Mon, 23 Dec 2019 13:33:00 +0100 Subject: [PATCH] file_win32 bodies respect http::serializer::split fix #1786, close #1788 --- CHANGELOG.md | 1 + include/boost/beast/http/impl/file_body_win32.hpp | 11 ++--------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca4056aa..65475e33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Version 281: * Travis builds docs * Fix echo-op test +* file_win32 bodies respect http::serializer::split -------------------------------------------------------------------------------- diff --git a/include/boost/beast/http/impl/file_body_win32.hpp b/include/boost/beast/http/impl/file_body_win32.hpp index 9b255a4b..e42be7f0 100644 --- a/include/boost/beast/http/impl/file_body_win32.hpp +++ b/include/boost/beast/http/impl/file_body_win32.hpp @@ -339,7 +339,6 @@ class write_some_win32_op Protocol, Executor>& sock_; serializer, Fields>& sr_; - std::size_t bytes_transferred_ = 0; bool header_ = false; public: @@ -415,14 +414,8 @@ public: error_code ec, std::size_t bytes_transferred = 0) { - bytes_transferred_ += bytes_transferred; - if(! ec) + if(! ec && ! header_) { - if(header_) - { - header_ = false; - return (*this)(); - } auto& w = sr_.writer_impl(); w.pos_ += bytes_transferred; BOOST_ASSERT(w.pos_ <= w.body_.last_); @@ -433,7 +426,7 @@ public: BOOST_ASSERT(sr_.is_done()); } } - this->complete_now(ec, bytes_transferred_); + this->complete_now(ec, bytes_transferred); } };