aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-23 07:03:15 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-23 07:03:15 -0500
commit547185d4eee66e09776b928bafc873794e9f3bc7 (patch)
tree3d8bfdb256c5e5b666b71a0dee9a055cf848ec3b
parent6205173db00eaac68cf8307a96547dec59ae3c26 (diff)
downloadteleterm-547185d4eee66e09776b928bafc873794e9f3bc7.tar.gz
teleterm-547185d4eee66e09776b928bafc873794e9f3bc7.zip
also rely on the middleware for template rendering
-rw-r--r--teleterm/src/web.rs30
1 files changed, 12 insertions, 18 deletions
diff --git a/teleterm/src/web.rs b/teleterm/src/web.rs
index 295bc93..0e9d914 100644
--- a/teleterm/src/web.rs
+++ b/teleterm/src/web.rs
@@ -81,11 +81,9 @@ fn router(data: &Config) -> impl gotham::handler::NewHandler {
.build(),
);
gotham::router::builder::build_router(chain, pipeline, |route| {
- route.get("/").to_new_handler(serve_template(
- "text/html",
- view::INDEX_HTML_TMPL_NAME,
- data,
- ));
+ route
+ .get("/")
+ .to(serve_template("text/html", view::INDEX_HTML_TMPL_NAME));
route.get("/teleterm_web.js").to(serve_static(
"application/javascript",
&view::TELETERM_WEB_JS,
@@ -120,19 +118,15 @@ fn serve_static(
fn serve_template(
content_type: &'static str,
name: &'static str,
- data: &Config,
-) -> impl gotham::handler::NewHandler {
- let data = data.clone();
- move || {
- let data = data.clone();
- Ok(move |state| {
- let rendered = view::HANDLEBARS.render(name, &data).unwrap();
- let response = hyper::Response::builder()
- .header("Content-Type", content_type)
- .body(hyper::Body::from(rendered))
- .unwrap();
- (state, response)
- })
+) -> impl gotham::handler::Handler + Copy {
+ move |state| {
+ let config = Config::borrow_from(&state);
+ let rendered = view::HANDLEBARS.render(name, &config).unwrap();
+ let response = hyper::Response::builder()
+ .header("Content-Type", content_type)
+ .body(hyper::Body::from(rendered))
+ .unwrap();
+ (state, response)
}
}