linkrs_server/http/middleware/error.rs
1use axum::{extract::Request, middleware::Next, response::Response};
2use log::error;
3
4pub async fn error_handling_middleware(request: Request, next: Next) -> Response {
5 let path = request.uri().path().to_string();
6 let method = request.method().to_string();
7
8 let response = next.run(request).await;
9
10 let status = response.status();
11 if status.is_server_error() {
12 error!("{} {} returned {}", method, path, status);
13 }
14
15 response
16}