tracks lexicons and how many times they appeared on the jetstream
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(server): log requests

dusk fd6db39e 85f997c4

+15 -1
+15 -1
server/src/api.rs
··· 2 2 3 3 use axum::{ 4 4 Json, Router, 5 - extract::{State, WebSocketUpgrade, ws::Message}, 5 + extract::{Request, State, WebSocketUpgrade, ws::Message}, 6 + middleware::Next, 6 7 response::Response, 7 8 routing::get, 8 9 }; ··· 15 16 let app = Router::new() 16 17 .route("/events", get(events)) 17 18 .route("/stream_events", get(stream_events)) 19 + .route_layer(axum::middleware::from_fn(log)) 18 20 .with_state(db); 19 21 20 22 let addr = SocketAddr::from(( ··· 27 29 let listener = tokio::net::TcpListener::bind(addr).await.unwrap(); 28 30 tracing::info!("starting serve on {addr}"); 29 31 axum::serve(listener, app).await.unwrap(); 32 + } 33 + 34 + async fn log(req: Request, next: Next) -> Response { 35 + let method = req.method().clone(); 36 + let uri = req.uri().clone(); 37 + let resp = next.run(req).await; 38 + if resp.status().is_server_error() { 39 + tracing::error!("{method} {uri} ({})", resp.status()); 40 + } else { 41 + tracing::info!("{method} {uri} ({})", resp.status()); 42 + } 43 + resp 30 44 } 31 45 32 46 #[derive(Serialize)]