diff options
author | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2017-07-22 10:58:16 -0400 |
---|---|---|
committer | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2017-07-22 11:16:21 -0400 |
commit | c515dd5fb598c1e3bdb17d6ef78109b6c99369c2 (patch) | |
tree | ebfa0ed24039fc7c0797546852b61ca9667ac866 | |
parent | dffea65ddb29d36f38f10c7ddcdf378fd5908584 (diff) |
add: All-important roflcopter.gif
-rw-r--r-- | src/data/roflcopter.gif | bin | 0 -> 1315 bytes | |||
-rw-r--r-- | src/data/templates/add.hbs | 2 | ||||
-rw-r--r-- | src/data/templates/add_post.hbs | 6 | ||||
-rw-r--r-- | src/server.rs | 17 |
4 files changed, 23 insertions, 2 deletions
diff --git a/src/data/roflcopter.gif b/src/data/roflcopter.gif Binary files differnew file mode 100644 index 0000000..521f01d --- /dev/null +++ b/src/data/roflcopter.gif diff --git a/src/data/templates/add.hbs b/src/data/templates/add.hbs index 1c7b853..db849b2 100644 --- a/src/data/templates/add.hbs +++ b/src/data/templates/add.hbs @@ -13,7 +13,7 @@ quote:<br> Prøv å bruke sånn ca. samme timestamp-format (HH:MM) o.l. som eksisterende quotes :-)<br><br> <input type="submit" value="Legg til"> </form> -<a href="quotes.jsp"><- Tilbake til quotes</a> +<a href="quotes.jsp">← Tilbake til quotes</a> {{/inline}} {{~> base~}} diff --git a/src/data/templates/add_post.hbs b/src/data/templates/add_post.hbs index 33dc481..ad894e9 100644 --- a/src/data/templates/add_post.hbs +++ b/src/data/templates/add_post.hbs @@ -44,7 +44,11 @@ </pre> <hr> -Takk ^___^ +<center> +<img src="static/roflcopter.gif" alt="Takk for quote!"/> +</center> + +<a href="quotes.jsp">← Tilbake til quotes</a> <center> <br> diff --git a/src/server.rs b/src/server.rs index 84bebb4..fc9ed68 100644 --- a/src/server.rs +++ b/src/server.rs @@ -16,6 +16,8 @@ use logger::Logger; use iron_sessionstorage::{self, SessionStorage, SessionRequestExt}; use iron_sessionstorage::backends::SignedCookieBackend; use rand::{OsRng, Rng}; +use router::Router; +use iron::mime; #[derive(Debug)] pub struct State { @@ -241,6 +243,20 @@ pub fn vote(r: &mut Request) -> IronResult<Response> { ))) } +const ROFLCOPTER: &'static [u8] = include_bytes!("data/roflcopter.gif"); + +fn static_file(r: &mut Request) -> IronResult<Response> { + let file = iexpect!(r.extensions.get::<Router>().unwrap().find("file"), + status::BadRequest); + let gif = ContentType(mime::Mime(mime::TopLevel::Image, + mime::SubLevel::Gif, vec![])); + Ok(match file { + "roflcopter.gif" => + Response::with((status::Ok, Header(gif), ROFLCOPTER)), + _ => Response::with(status::NotFound) + }) +} + pub fn serve(state: State, port: u16) { let router = router!( @@ -251,6 +267,7 @@ pub fn serve(state: State, port: u16) { view_quote: get "/view_quote" => quotes, approve: get "/approve.jsp" => approve, vote: get "/vote" => vote, + static_file: get "/static/:file" => static_file, ); let mut chain = Chain::new(router); |