summaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs9
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)));