From d4d1c2f427dc997aef7ca93cbd1b4eff0ae1cebd Mon Sep 17 00:00:00 2001 From: orignal Date: Sat, 18 Jan 2014 17:43:04 -0500 Subject: [PATCH] show recived page 'as is' --- HTTPServer.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/HTTPServer.cpp b/HTTPServer.cpp index 80ddd456..99bd90f4 100644 --- a/HTTPServer.cpp +++ b/HTTPServer.cpp @@ -24,16 +24,19 @@ namespace util std::vector HTTPConnection::reply::to_buffers() { std::vector buffers; - buffers.push_back (boost::asio::buffer ("HTTP/1.0 200 OK\r\n")); // always OK - for (std::size_t i = 0; i < headers.size(); ++i) - { - header& h = headers[i]; - buffers.push_back(boost::asio::buffer(h.name)); - buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator)); - buffers.push_back(boost::asio::buffer(h.value)); + if (headers.size () > 0) + { + buffers.push_back (boost::asio::buffer ("HTTP/1.0 200 OK\r\n")); // always OK + for (std::size_t i = 0; i < headers.size(); ++i) + { + header& h = headers[i]; + buffers.push_back(boost::asio::buffer(h.name)); + buffers.push_back(boost::asio::buffer(misc_strings::name_value_separator)); + buffers.push_back(boost::asio::buffer(h.value)); + buffers.push_back(boost::asio::buffer(misc_strings::crlf)); + } buffers.push_back(boost::asio::buffer(misc_strings::crlf)); - } - buffers.push_back(boost::asio::buffer(misc_strings::crlf)); + } buffers.push_back(boost::asio::buffer(content)); return buffers; } @@ -185,6 +188,10 @@ namespace util ss << std::string ((char *)buf, r); while (s->IsOpen () && (r = s->Receive (buf, 8192, 30)) > 0) ss << std::string ((char *)buf,r); + + m_Reply.content = ss.str (); // send "as is" + m_Reply.headers.resize(0); // no headers + return; } else // nothing received ss << "Not responding";