You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-11-23 11:02:35 +03:00
Enable HTTP keepalive correctly
This commit is contained in:
7
Cargo.lock
generated
7
Cargo.lock
generated
@@ -2971,6 +2971,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"rustls-pemfile",
|
"rustls-pemfile",
|
||||||
|
"socket2 0.5.4",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tokio-rustls",
|
"tokio-rustls",
|
||||||
@@ -5043,9 +5044,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "socket2"
|
name = "socket2"
|
||||||
version = "0.5.3"
|
version = "0.5.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
|
checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
@@ -5564,7 +5565,7 @@ dependencies = [
|
|||||||
"parking_lot",
|
"parking_lot",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"signal-hook-registry",
|
"signal-hook-registry",
|
||||||
"socket2 0.5.3",
|
"socket2 0.5.4",
|
||||||
"tokio-macros",
|
"tokio-macros",
|
||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ futures-util = "0.3.28"
|
|||||||
http-body = "0.4.5"
|
http-body = "0.4.5"
|
||||||
hyper = { version = "0.14.27", features = ["server", "http1", "http2", "tcp"] }
|
hyper = { version = "0.14.27", features = ["server", "http1", "http2", "tcp"] }
|
||||||
pin-project-lite = "0.2.13"
|
pin-project-lite = "0.2.13"
|
||||||
|
socket2 = "0.5.4"
|
||||||
thiserror.workspace = true
|
thiserror.workspace = true
|
||||||
tokio = { version = "1.32.0", features = ["net", "rt", "macros", "signal", "time"] }
|
tokio = { version = "1.32.0", features = ["net", "rt", "macros", "signal", "time"] }
|
||||||
tokio-rustls = "0.24.1"
|
tokio-rustls = "0.24.1"
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ where
|
|||||||
} else {
|
} else {
|
||||||
hyper::server::conn::Http::new()
|
hyper::server::conn::Http::new()
|
||||||
.http1_only(true)
|
.http1_only(true)
|
||||||
.http1_keep_alive(false)
|
.http1_keep_alive(true)
|
||||||
.serve_connection(stream, service)
|
.serve_connection(stream, service)
|
||||||
.with_upgrades()
|
.with_upgrades()
|
||||||
.await?;
|
.await?;
|
||||||
|
|||||||
@@ -152,10 +152,20 @@ impl UnixOrTcpListener {
|
|||||||
match self {
|
match self {
|
||||||
Self::Unix(listener) => {
|
Self::Unix(listener) => {
|
||||||
let (stream, remote_addr) = listener.accept().await?;
|
let (stream, remote_addr) = listener.accept().await?;
|
||||||
|
|
||||||
|
let socket = socket2::SockRef::from(&stream);
|
||||||
|
socket.set_keepalive(true)?;
|
||||||
|
socket.set_nodelay(true)?;
|
||||||
|
|
||||||
Ok((remote_addr.into(), UnixOrTcpConnection::Unix { stream }))
|
Ok((remote_addr.into(), UnixOrTcpConnection::Unix { stream }))
|
||||||
}
|
}
|
||||||
Self::Tcp(listener) => {
|
Self::Tcp(listener) => {
|
||||||
let (stream, remote_addr) = listener.accept().await?;
|
let (stream, remote_addr) = listener.accept().await?;
|
||||||
|
|
||||||
|
let socket = socket2::SockRef::from(&stream);
|
||||||
|
socket.set_keepalive(true)?;
|
||||||
|
socket.set_nodelay(true)?;
|
||||||
|
|
||||||
Ok((remote_addr.into(), UnixOrTcpConnection::Tcp { stream }))
|
Ok((remote_addr.into(), UnixOrTcpConnection::Tcp { stream }))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user