diff --git a/src/http.cpp b/src/http.cpp index 5970fe030dc26de855b740513c8a1665f968154e..b7f3373e5f4a39a155205ff31079793459a02bc7 100644 --- a/src/http.cpp +++ b/src/http.cpp @@ -629,6 +629,8 @@ Request::init_parser() on_body_cb(at, length); }; cbs_->on_message_complete = [this](){ + if (logger_) + logger_->d("[http:client] [request:%i] response: message complete", id_); message_complete_.store(true); }; } @@ -896,6 +898,11 @@ Request::handle_response_body(const asio::error_code& ec, const size_t bytes) if (logger_) logger_->d("[http:client] [request:%i] response body: %i bytes received", id_, bytes); + if (bytes == 0){ + terminate(asio::error::eof); + return; + } + unsigned int content_length; auto content_length_it = response_.headers.find(HTTP_HEADER_CONTENT_LENGTH);