diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-11-23 07:03:15 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-11-23 07:03:15 -0500 |
commit | 547185d4eee66e09776b928bafc873794e9f3bc7 (patch) | |
tree | 3d8bfdb256c5e5b666b71a0dee9a055cf848ec3b | |
parent | 6205173db00eaac68cf8307a96547dec59ae3c26 (diff) | |
download | teleterm-547185d4eee66e09776b928bafc873794e9f3bc7.tar.gz teleterm-547185d4eee66e09776b928bafc873794e9f3bc7.zip |
also rely on the middleware for template rendering
-rw-r--r-- | teleterm/src/web.rs | 30 |
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) } } |