abstract shutdown/reload functionality.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-06-16 01:39:14 +00:00
parent 30e7298dd7
commit 08f2b8579c
6 changed files with 49 additions and 26 deletions

View file

@ -13,7 +13,7 @@ use tracing::{debug, error, trace};
pub(crate) async fn spawn(
State(server): State<Arc<Server>>, req: http::Request<axum::body::Body>, next: axum::middleware::Next,
) -> Result<axum::response::Response, StatusCode> {
if server.stopping.load(Ordering::Relaxed) {
if !server.running() {
debug_warn!("unavailable pending shutdown");
return Err(StatusCode::SERVICE_UNAVAILABLE);
}
@ -35,7 +35,7 @@ pub(crate) async fn spawn(
pub(crate) async fn handle(
State(server): State<Arc<Server>>, req: http::Request<axum::body::Body>, next: axum::middleware::Next,
) -> Result<axum::response::Response, StatusCode> {
if server.stopping.load(Ordering::Relaxed) {
if !server.running() {
debug_warn!(
method = %req.method(),
uri = %req.uri(),