1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 20:28:11 +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:
Ali Mohammad Pur 2021-09-30 12:19:54 +03:30 committed by Andreas Kling
parent d16131b100
commit b0a9c5673e
13 changed files with 55 additions and 23 deletions

View file

@ -208,6 +208,16 @@ void Socket::did_update_fd(int fd)
}
}
bool Socket::close()
{
m_connected = false;
if (m_notifier)
m_notifier->close();
if (m_read_notifier)
m_read_notifier->close();
return IODevice::close();
}
void Socket::ensure_read_notifier()
{
VERIFY(m_connected);