From 547185d4eee66e09776b928bafc873794e9f3bc7 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 23 Nov 2019 07:03:15 -0500 Subject: also rely on the middleware for template rendering --- teleterm/src/web.rs | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) (limited to 'teleterm') 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) } } -- cgit v1.2.3-54-g00ecf