aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/https.rs19
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 {