diff options
-rw-r--r-- | src/https.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/https.rs b/src/https.rs index 7dcf051..ba4365d 100644 --- a/src/https.rs +++ b/src/https.rs @@ -77,14 +77,17 @@ pub async fn serve_https( match tls_acceptor.accept(socket).await { Ok(stream) => { debug!("TLS handshake was successfull"); - let http_conn = Http::new().serve_connection( - stream, - service_fn(move |req: Request<Body>| { - let https_config = config.clone(); - let proxy_config: Arc<ProxyConfig> = rx_proxy_config.borrow().clone(); - handle_outer(remote_addr, req, https_config, proxy_config) - }), - ); + let http_conn = Http::new() + .serve_connection( + stream, + service_fn(move |req: Request<Body>| { + let https_config = config.clone(); + let proxy_config: Arc<ProxyConfig> = + rx_proxy_config.borrow().clone(); + handle_outer(remote_addr, req, https_config, proxy_config) + }), + ) + .with_upgrades(); let timeout = tokio::time::sleep(MAX_CONNECTION_LIFETIME); tokio::pin!(http_conn, timeout); let http_result = loop { |