Files
tuono/crates/tuono_lib/src/catch_all.rs
T

25 lines
669 B
Rust
Raw Normal View History

2024-07-02 21:59:30 +02:00
use crate::{ssr::Js, Payload};
use axum::extract::{Path, Request};
use axum::response::Html;
use std::collections::HashMap;
pub async fn catch_all(
Path(params): Path<HashMap<String, String>>,
request: Request,
) -> Html<String> {
2024-07-09 19:00:48 +02:00
let pathname = request.uri();
let headers = request.headers();
2024-07-02 21:59:30 +02:00
2024-07-09 19:00:48 +02:00
let req = crate::Request::new(pathname.to_owned(), headers.to_owned(), params);
2024-07-02 21:59:30 +02:00
// TODO: remove unwrap
let payload = Payload::new(&req, &"").client_payload().unwrap();
2024-07-07 11:44:36 +02:00
let result = Js::render_to_string(Some(&payload));
2024-07-02 21:59:30 +02:00
match result {
Ok(html) => Html(html),
_ => Html("500 internal server error".to_string()),
}
}