mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 04:07:45 +00:00
LibHTTP: Respect the 'Connection: close' header on keep-alive jobs
If the server responds with this header, we _must_ close the connection, as the server is allowed to ignore the socket and not respond to anything past that response. Fixes some RequestServer spins.
This commit is contained in:
parent
d16131b100
commit
b0a9c5673e
13 changed files with 55 additions and 23 deletions
|
@ -35,12 +35,16 @@ public:
|
|||
NetworkResponse* response() { return m_response.ptr(); }
|
||||
const NetworkResponse* response() const { return m_response.ptr(); }
|
||||
|
||||
enum class ShutdownMode {
|
||||
DetachFromSocket,
|
||||
CloseSocket,
|
||||
};
|
||||
virtual void start(NonnullRefPtr<Core::Socket>) = 0;
|
||||
virtual void shutdown() = 0;
|
||||
virtual void shutdown(ShutdownMode) = 0;
|
||||
|
||||
void cancel()
|
||||
{
|
||||
shutdown();
|
||||
shutdown(ShutdownMode::DetachFromSocket);
|
||||
m_error = Error::Cancelled;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue