feat: add debug request and response header logging
parent
f9ffc21a3f
commit
b5ec2e40de
|
@ -41,8 +41,6 @@ pub fn router(ctx: Context) -> Router<Context> {
|
||||||
|
|
||||||
/// This middleware accepts
|
/// This middleware accepts
|
||||||
pub async fn auth_middleware(State(ctx): State<Context>, mut req: Request, next: Next) -> Response {
|
pub async fn auth_middleware(State(ctx): State<Context>, mut req: Request, next: Next) -> Response {
|
||||||
tracing::debug!("{:?}", req.headers());
|
|
||||||
|
|
||||||
// SAFETY: this extractor's error type is Infallible
|
// SAFETY: this extractor's error type is Infallible
|
||||||
let mut jar: CookieJar = req.extract_parts().await.unwrap();
|
let mut jar: CookieJar = req.extract_parts().await.unwrap();
|
||||||
let mut auth_user = None;
|
let mut auth_user = None;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
mod error;
|
mod error;
|
||||||
mod gpodder;
|
mod gpodder;
|
||||||
|
|
||||||
use axum::Router;
|
use axum::{extract::Request, middleware::Next, response::Response, Router};
|
||||||
use tower_http::trace::TraceLayer;
|
use tower_http::trace::TraceLayer;
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
@ -12,6 +12,17 @@ pub struct Context {
|
||||||
pub fn app(ctx: Context) -> Router {
|
pub fn app(ctx: Context) -> Router {
|
||||||
Router::new()
|
Router::new()
|
||||||
.merge(gpodder::router(ctx.clone()))
|
.merge(gpodder::router(ctx.clone()))
|
||||||
|
.layer(axum::middleware::from_fn(header_logger))
|
||||||
.layer(TraceLayer::new_for_http())
|
.layer(TraceLayer::new_for_http())
|
||||||
.with_state(ctx)
|
.with_state(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn header_logger(request: Request, next: Next) -> Response {
|
||||||
|
tracing::debug!("request headers = {:?}", request.headers());
|
||||||
|
|
||||||
|
let res = next.run(request).await;
|
||||||
|
|
||||||
|
tracing::debug!("response headers = {:?}", res.headers());
|
||||||
|
|
||||||
|
res
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue