mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-23 21:55:03 +02:00
Fix requests not being closed correctly
This commit is contained in:
parent
70c81734c5
commit
3fe818b44b
@ -107,7 +107,11 @@ bool HttpServerConnection::ProcessMessage(void)
|
|||||||
response.WriteBody(msg.CStr(), msg.GetLength());
|
response.WriteBody(msg.CStr(), msg.GetLength());
|
||||||
response.Finish();
|
response.Finish();
|
||||||
|
|
||||||
|
m_CurrentRequest.~HttpRequest();
|
||||||
|
new (&m_CurrentRequest) HttpRequest(m_Stream);
|
||||||
|
|
||||||
m_Stream->Shutdown();
|
m_Stream->Shutdown();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
} catch (const std::exception& ex) {
|
} catch (const std::exception& ex) {
|
||||||
response.SetStatus(500, "Internal Server Error");
|
response.SetStatus(500, "Internal Server Error");
|
||||||
@ -115,7 +119,11 @@ bool HttpServerConnection::ProcessMessage(void)
|
|||||||
response.WriteBody(msg.CStr(), msg.GetLength());
|
response.WriteBody(msg.CStr(), msg.GetLength());
|
||||||
response.Finish();
|
response.Finish();
|
||||||
|
|
||||||
|
m_CurrentRequest.~HttpRequest();
|
||||||
|
new (&m_CurrentRequest) HttpRequest(m_Stream);
|
||||||
|
|
||||||
m_Stream->Shutdown();
|
m_Stream->Shutdown();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
@ -124,7 +132,11 @@ bool HttpServerConnection::ProcessMessage(void)
|
|||||||
if (!m_CurrentRequest.CompleteHeaderCheck) {
|
if (!m_CurrentRequest.CompleteHeaderCheck) {
|
||||||
m_CurrentRequest.CompleteHeaderCheck = true;
|
m_CurrentRequest.CompleteHeaderCheck = true;
|
||||||
if (!ManageHeaders(response)) {
|
if (!ManageHeaders(response)) {
|
||||||
|
m_CurrentRequest.~HttpRequest();
|
||||||
|
new (&m_CurrentRequest) HttpRequest(m_Stream);
|
||||||
|
|
||||||
m_Stream->Shutdown();
|
m_Stream->Shutdown();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,7 +150,11 @@ bool HttpServerConnection::ProcessMessage(void)
|
|||||||
response.WriteBody(msg.CStr(), msg.GetLength());
|
response.WriteBody(msg.CStr(), msg.GetLength());
|
||||||
response.Finish();
|
response.Finish();
|
||||||
|
|
||||||
|
m_CurrentRequest.~HttpRequest();
|
||||||
|
new (&m_CurrentRequest) HttpRequest(m_Stream);
|
||||||
|
|
||||||
m_Stream->Shutdown();
|
m_Stream->Shutdown();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
} catch (const std::exception& ex) {
|
} catch (const std::exception& ex) {
|
||||||
response.SetStatus(500, "Internal Server Error");
|
response.SetStatus(500, "Internal Server Error");
|
||||||
@ -146,7 +162,11 @@ bool HttpServerConnection::ProcessMessage(void)
|
|||||||
response.WriteBody(msg.CStr(), msg.GetLength());
|
response.WriteBody(msg.CStr(), msg.GetLength());
|
||||||
response.Finish();
|
response.Finish();
|
||||||
|
|
||||||
|
m_CurrentRequest.~HttpRequest();
|
||||||
|
new (&m_CurrentRequest) HttpRequest(m_Stream);
|
||||||
|
|
||||||
m_Stream->Shutdown();
|
m_Stream->Shutdown();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user