blob: d74b7596565355e88c213a46652ff1cf0e3ab149 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#![deny(elided_lifetimes_in_paths)]
#![deny(unreachable_pub)]
pub use askama;
pub use tide;
use askama::*;
use tide::{http::Mime, Body, Response};
pub fn try_into_body<T: Template>(t: &T, ext: &str) -> Result<Body> {
let string = t.render()?;
let mut body = Body::from_string(string);
if let Some(mime) = Mime::from_extension(ext) {
body.set_mime(mime);
}
Ok(body)
}
pub fn into_response<T: Template>(t: &T, ext: &str) -> Response {
match try_into_body(t, ext) {
Ok(body) => {
let mut response = Response::new(200);
response.set_body(body);
response
}
Err(error) => {
let mut response = Response::new(500);
response.set_error(error);
response
}
}
}
|