From e5cb70972e7974999a8dabe4f861209d2f39e5fc Mon Sep 17 00:00:00 2001
From: orignal <i2porignal@yandex.ru>
Date: Sun, 22 Nov 2015 10:58:57 -0500
Subject: [PATCH] moved status_string to reply structure

---
 HTTPServer.cpp | 27 +++++++++++++--------------
 HTTPServer.h   |  3 +--
 2 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/HTTPServer.cpp b/HTTPServer.cpp
index 09e298fb..07457549 100644
--- a/HTTPServer.cpp
+++ b/HTTPServer.cpp
@@ -490,22 +490,21 @@ namespace util
 		std::vector<boost::asio::const_buffer> buffers;
 		if (headers.size () > 0)
 		{
-			buffers.push_back(boost::asio::buffer("HTTP/1.1 ", 9));
-            buffers.push_back(boost::asio::buffer(boost::lexical_cast<std::string>(status), 3));
-			buffers.push_back(boost::asio::buffer(" ", 1));
-			std::string status_string;
+			status_string = "HTTP/1.1 ";
+			status_string += std::to_string (status);
+			status_string += " ";
 			switch (status)
 			{
-				case 105: status_string = "Name Not Resolved"; break;
-                case 200: status_string = "OK"; break;
-                case 400: status_string = "Bad Request"; break;
-                case 404: status_string = "Not Found"; break;
-                case 408: status_string = "Request Timeout"; break;
-                case 500: status_string = "Internal Server Error"; break;
-                case 502: status_string = "Bad Gateway"; break;
-                case 503: status_string = "Not Implemented"; break;
-                case 504: status_string = "Gateway Timeout"; break;
-				default: status_string = "WTF";
+				case 105: status_string += "Name Not Resolved"; break;
+                case 200: status_string += "OK"; break;
+                case 400: status_string += "Bad Request"; break;
+                case 404: status_string += "Not Found"; break;
+                case 408: status_string += "Request Timeout"; break;
+                case 500: status_string += "Internal Server Error"; break;
+                case 502: status_string += "Bad Gateway"; break;
+                case 503: status_string += "Not Implemented"; break;
+                case 504: status_string += "Gateway Timeout"; break;
+				default: status_string += "WTF";
 			}
 			buffers.push_back(boost::asio::buffer(status_string, status_string.size()));
             buffers.push_back(boost::asio::buffer(misc_strings::crlf));
diff --git a/HTTPServer.h b/HTTPServer.h
index 977938fb..e2ca3774 100644
--- a/HTTPServer.h
+++ b/HTTPServer.h
@@ -39,8 +39,7 @@ namespace util
 			struct reply
 			{
 				std::vector<header> headers;
-				std::string content;
-
+				std::string status_string, content;
 				std::vector<boost::asio::const_buffer> to_buffers (int status);
 			};