Having an HTTP server with no request listener does not really make any sense at all.
Currently, the end() call actually results in an invalid HTTP response stream, because it sends a closing chunk (chunked transfer encoding) without actually sending any HTTP response headers.
This simple PR changes it so that this case will simply not be handled at all, so that the client never receives any response data at all. This is actually in line with how our Socket component works if there's no connection listener.
Note that the invalid response stream will that is sent by end() will be addressed in a separate ticket, I'll link to this here once it's ready.