feat: add log to catch_all routes (#83)

This commit is contained in:
Valerio Ageno
2024-11-10 11:08:06 +01:00
committed by GitHub
parent fc9bb52c41
commit 5d8ec82502
+15
View File
@@ -1,12 +1,15 @@
use crate::{ssr::Js, Payload};
use axum::extract::{Path, Request};
use axum::response::Html;
use colored::*;
use std::collections::HashMap;
use tokio::time::Instant;
pub async fn catch_all(
Path(params): Path<HashMap<String, String>>,
request: Request,
) -> Html<String> {
let start = Instant::now();
let pathname = request.uri();
let headers = request.headers();
@@ -17,6 +20,18 @@ pub async fn catch_all(
let result = Js::render_to_string(Some(&payload));
let duration = start.elapsed();
// TODO: handle 404 error on catch_all route
let http_code = "200";
println!(
" GET {} {} in {}ms",
req.uri.path(),
http_code.green(),
duration.as_millis()
);
match result {
Ok(html) => Html(html),
_ => Html("500 internal server error".to_string()),