From 306c5451511b463a3e2fc5a9ebfff6eff35c9d73 Mon Sep 17 00:00:00 2001 From: Damjan Georgievski Date: Mon, 23 Jul 2018 00:32:56 +0200 Subject: [PATCH] let's return a Result from create_app with the possibility that any errors could be reported/handled by the caller. the lambda in server::new(|| ...) doesn't care though --- src/web.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/web.rs b/src/web.rs index 2ae613c..8f17989 100644 --- a/src/web.rs +++ b/src/web.rs @@ -11,16 +11,17 @@ use std::path::PathBuf; use std; use bytes; -pub fn create_app(directory: &PathBuf) -> App { - let root = directory.to_path_buf(); - let static_files = fs::StaticFiles::new(&root).unwrap() +pub fn create_app(directory: &PathBuf) -> Result, error::Error> { + let root = directory.to_path_buf(); // practically makes a copy, so it can be used as state + let static_files = fs::StaticFiles::new(&root)? .show_files_listing() .files_listing_renderer(handle_directory); - App::with_state(root) + let app = App::with_state(root) .middleware(middleware::Logger::new(r#"%a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T"#)) .resource(r"/{tail:.*}.tar", |r| r.get().f(handle_tar)) .resource(r"/favicon.ico", |r| r.get().f(favicon_ico)) - .handler("/", static_files) + .handler("/", static_files); + Ok(app) } fn handle_directory<'a, 'b>(