diff --git a/aquatic_http_private/src/config.rs b/aquatic_http_private/src/config.rs index ce558a0..094c15e 100644 --- a/aquatic_http_private/src/config.rs +++ b/aquatic_http_private/src/config.rs @@ -57,6 +57,7 @@ pub struct NetworkConfig { pub tls_certificate_path: PathBuf, /// Path to TLS private key (DER-encoded ASN.1 in PKCS#8 or PKCS#1 format) pub tls_private_key_path: PathBuf, + pub keep_alive: bool, } impl Default for NetworkConfig { @@ -65,6 +66,7 @@ impl Default for NetworkConfig { address: SocketAddr::from(([0, 0, 0, 0], 3000)), tls_certificate_path: "".into(), tls_private_key_path: "".into(), + keep_alive: true, } } } diff --git a/aquatic_http_private/src/workers/socket/mod.rs b/aquatic_http_private/src/workers/socket/mod.rs index 9659874..2b142c7 100644 --- a/aquatic_http_private/src/workers/socket/mod.rs +++ b/aquatic_http_private/src/workers/socket/mod.rs @@ -59,12 +59,12 @@ async fn run_app( let app = Router::new() .route("/announce/:user_token/", get(routes::announce)) - .layer(Extension(Arc::new(config))) + .layer(Extension(Arc::new(config.clone()))) .layer(Extension(pool)) .layer(Extension(Arc::new(request_sender))); axum::Server::builder(tls_acceptor) - .http1_keepalive(false) + .http1_keepalive(config.network.keep_alive) .serve(app.into_make_service_with_connect_info::()) .await?;