aboutsummaryrefslogtreecommitdiff
path: root/src/web/web_server.rs
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2024-02-08 23:43:59 +0100
committerAlex Auvolat <alex@adnab.me>2024-02-08 23:43:59 +0100
commit5c63193d1de909cdecc501b482f5dc269a84874d (patch)
treecf34b848df170b3e3289754c77c4a9f61b97a260 /src/web/web_server.rs
parentbcbd15da84181ad94ece7e794933a6ebd388f5bc (diff)
downloadgarage-5c63193d1de909cdecc501b482f5dc269a84874d.tar.gz
garage-5c63193d1de909cdecc501b482f5dc269a84874d.zip
[dep-upgrade-202402] fix shutdown issue introduced when upgrading hyperdep-upgrade-202402
Diffstat (limited to 'src/web/web_server.rs')
-rw-r--r--src/web/web_server.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/web/web_server.rs b/src/web/web_server.rs
index 766e3829..269f37f2 100644
--- a/src/web/web_server.rs
+++ b/src/web/web_server.rs
@@ -2,7 +2,8 @@ use std::fs::{self, Permissions};
use std::os::unix::prelude::PermissionsExt;
use std::{convert::Infallible, sync::Arc};
-use futures::future::Future;
+use tokio::net::{TcpListener, UnixListener};
+use tokio::sync::watch;
use hyper::{
body::Incoming as IncomingBody,
@@ -10,8 +11,6 @@ use hyper::{
Method, Request, Response, StatusCode,
};
-use tokio::net::{TcpListener, UnixListener};
-
use opentelemetry::{
global,
metrics::{Counter, ValueRecorder},
@@ -84,8 +83,9 @@ impl WebServer {
pub async fn run(
self: Arc<Self>,
bind_addr: UnixOrTCPSocketAddress,
- shutdown_signal: impl Future<Output = ()>,
+ must_exit: watch::Receiver<bool>,
) -> Result<(), GarageError> {
+ let server_name = "Web".into();
info!("Web server listening on {}", bind_addr);
match bind_addr {
@@ -94,7 +94,7 @@ impl WebServer {
let handler =
move |stream, socketaddr| self.clone().handle_request(stream, socketaddr);
- server_loop(listener, handler, shutdown_signal).await
+ server_loop(server_name, listener, handler, must_exit).await
}
UnixOrTCPSocketAddress::UnixSocket(ref path) => {
if path.exists() {
@@ -108,7 +108,7 @@ impl WebServer {
let handler =
move |stream, socketaddr| self.clone().handle_request(stream, socketaddr);
- server_loop(listener, handler, shutdown_signal).await
+ server_loop(server_name, listener, handler, must_exit).await
}
}
}