blob: 07ede8861d2201525a76100d46cfb047d21aab19 (
plain) (
tree)
|
|
#![forbid(unsafe_code)]
#![deny(elided_lifetimes_in_paths)]
#![deny(unreachable_pub)]
pub use askama::*;
#[doc(hidden)]
pub use hyper;
use hyper::{header, Body, Response, StatusCode};
pub fn try_respond<T: Template>(t: &T, _ext: &str) -> Result<Response<Body>> {
Response::builder()
.status(StatusCode::OK)
.header(
header::CONTENT_TYPE,
header::HeaderValue::from_static(T::MIME_TYPE),
)
.body(t.render()?.into())
.map_err(|err| Error::Custom(Box::new(err)))
}
pub fn respond<T: Template>(t: &T, _ext: &str) -> Response<Body> {
match try_respond(t, _ext) {
Ok(response) => response,
Err(_) => Response::builder()
.status(StatusCode::INTERNAL_SERVER_ERROR)
.body(Body::empty())
.unwrap(),
}
}
|