diff options
Diffstat (limited to 'src/server.rs')
-rw-r--r-- | src/server.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server.rs b/src/server.rs index 58027e9..a4c2d35 100644 --- a/src/server.rs +++ b/src/server.rs @@ -147,7 +147,7 @@ fn authenticate(r: &mut Request) -> IronResult<Response> { let login = Login { user: user.to_string() }; // TODO Make a validated login type info!("User logged in: {:?}", login); r.session().set(login)?; - let url = Url::parse("http://localhost:8080/").unwrap(); + let url = url_for!(r, "root"); Ok(Response::with((status::Found, Redirect(url)))) } else { login(r) @@ -156,13 +156,14 @@ fn authenticate(r: &mut Request) -> IronResult<Response> { fn logout(r: &mut Request) -> IronResult<Response> { r.session().set::<Login>(Default::default()); - let url = Url::parse("http://localhost:8080/").unwrap(); + let url = url_for!(r, "root"); Ok(Response::with((status::Found, Redirect(url)))) } fn make_renderer(r: &mut Request) -> IronResult<render::Renderer> { let user = get_logged_in_user(r)?.map(|u| u.user); - Ok(render::Renderer { user: user }) + let base_url = format!("{}", url_for!(r, "root")); + Ok(render::Renderer { base_url: base_url, user: user }) } pub fn serve(context: Context, port: u16) -> HttpResult<Listening> { @@ -175,7 +176,7 @@ pub fn serve(context: Context, port: u16) -> HttpResult<Listening> { logout: get "/logout" => logout, details: get "/status/:unit" => unit_status, journal: get "/journal/:unit" => journal, - css: get "/static/main.css" => Static::new(""), + css: get "/static/main.css" => Static::new(""), // TODO: Use this instead? https://doc.rust-lang.org/std/macro.include.html ); let mut chain = Chain::new(router); chain.link_around(SessionStorage::new(SignedCookieBackend::new(secret))); |