From 345eb11c72c2c3903b89aef0b86eeb6a0ba1ecb0 Mon Sep 17 00:00:00 2001 From: k1988 Date: Thu, 16 Nov 2017 10:39:05 +0800 Subject: [PATCH] fix lost last chunk when there is two chunks in one read --- client_http.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client_http.hpp b/client_http.hpp index 20eaca8..619aa09 100644 --- a/client_http.hpp +++ b/client_http.hpp @@ -592,9 +592,13 @@ namespace SimpleWeb { chunked_stream.get(); chunked_stream.get(); - if(length > 0) - this->read_chunked(session, tmp_streambuf); - else { + if (length > 0) { + if (chunked_streambuf->size() > 0) { + std::ostream response_stream(&session->response->streambuf); + response_stream << chunked_streambuf.get(); + } + this->read_chunked(session, tmp_streambuf); + }else { if(tmp_streambuf->size() > 0) { std::ostream response_stream(&session->response->streambuf); response_stream << tmp_streambuf.get();