You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are multiple issues with the current HttpServer implementation.
According to RFC 2145 a server should return the maximum compatible HTTP minor version (which in our case will be 1.1) for any request 1.0 or 1.1. Instead currently, the server sends a 1.0 response for 1.0 requests.
The server does not send a "Connection" header with value as "keep-alive" for client requested Keep-Alive and "Close" with no keep-alive requests. (HTTP spec reference)
Even if the transfer encoding is not chunked, the server sends a last http content.
The transfer encoding chunked is set only for keep-alive connections even though the response is always sent as chunked.
The text was updated successfully, but these errors were encountered:
HttpServerResponse.close() was asserting the transfer encoding to add LastHttpContent.
The transfer encoding was getting added in ServerRequestResponseConverter.
In cases, when close() is NOT invoked from the eventloop of the server, there is a race-condition
between when the transfer encoding is updated (in the handler) and when close() asserts the same as
the handler is invoked in a different thread (server eventloop) than close()
Also added some testcases for this scneario.
Bug fix
There are multiple issues with the current HttpServer implementation.
The text was updated successfully, but these errors were encountered: