Actually the `corked` functionality caused problems with
not closing connections properly.
Full Analysis: https://github.com/Icinga/icinga2/issues/6799#issuecomment-
443710338
Full credits to @swegener :)
fixes #6799
}
m_State = HttpResponseEnd;
+
+ if (m_Request->ProtocolVersion == HttpVersion10 || m_Request->Headers->Get("connection") == "close")
+ m_Stream->Shutdown();
}
bool HttpResponse::Parse(StreamReadContext& src, bool may_wait)
close = true;
}
-
- /* Request finished, decide whether to explicitly close the connection. */
- if (m_CurrentRequest.ProtocolVersion == HttpVersion10 ||
- m_CurrentRequest.Headers->Get("connection") == "close") {
- m_Stream->Shutdown();
- close = true;
- }
} else
close = true;