1
0
Fork 0

HTTP: Error message is sent as the payload as well.

This shows the error message in the browsers. Before, the browsers would display just a blank page.
This commit is contained in:
Mattes D 2015-04-19 17:32:44 +02:00
parent 3b49a1d250
commit d40078d163
2 changed files with 5 additions and 2 deletions

View File

@ -38,7 +38,9 @@ cHTTPConnection::~cHTTPConnection()
void cHTTPConnection::SendStatusAndReason(int a_StatusCode, const AString & a_Response)
{
SendData(Printf("%d %s\r\nContent-Length: 0\r\n\r\n", a_StatusCode, a_Response.c_str()));
SendData(Printf("HTTP/1.1 %d %s\r\n", a_StatusCode, a_Response.c_str()));
SendData(Printf("Content-Length: %u\r\n\r\n", static_cast<unsigned>(a_Response.size())));
SendData(a_Response.data(), a_Response.size());
m_State = wcsRecvHeaders;
}

View File

@ -41,7 +41,8 @@ public:
cHTTPConnection(cHTTPServer & a_HTTPServer);
virtual ~cHTTPConnection();
/** Sends HTTP status code together with a_Reason (used for HTTP errors) */
/** Sends HTTP status code together with a_Reason (used for HTTP errors).
Sends the a_Reason as the body as well, so that browsers display it. */
void SendStatusAndReason(int a_StatusCode, const AString & a_Reason);
/** Sends the "401 unauthorized" reply together with instructions on authorizing, using the specified realm */