Description
When Artemis connector is configured to use http-upgrade, it will send an HTTP request to the server to perform the upgrade handshake and wait for response for 30 seconds maximum.
The code in HttpUpgradeHandler#channelRead0 checks if the received object from the server is a HttpResponse and check its header.
However if the received object is not an HttpResponse (e.g. a LastHttpContent if the web server is suspended and returns a 404 with a text content), the code does not close the context and does not countdown the latch.
This results in a 30s block for the client when we already know that the connection will not be possible.
Improving code in HttpUpgradeHandler#channelRead0 will remove this 30s wait time and ensure a fast dectection from the client so that it can try to connect to another server for example.