pub async fn handle_connection(
stream: Incoming,
address: SocketAddr,
descriptor: Arc<PortDescriptor>,
continue_accepting: impl FnMut() -> bool,
) -> Result<()>
Expand description
Handles a single connection. This includes encrypting it, extracting the HTTP header information,
optionally (HTTP/2 & HTTP/3) decompressing them, and passing the request to handle_cache()
.
It will also recognize which host should handle the connection.
Here, both layer 2 and layer 3 are handled.
ยงErrors
Will pass any errors from reading the request, making a TLS handshake, and writing the response.
See handle_cache()
and handle_request()
; errors from them are passed up, through this fn.