From c515dd5fb598c1e3bdb17d6ef78109b6c99369c2 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 22 Jul 2017 10:58:16 -0400 Subject: add: All-important roflcopter.gif --- src/data/roflcopter.gif | Bin 0 -> 1315 bytes src/data/templates/add.hbs | 2 +- src/data/templates/add_post.hbs | 6 +++++- src/server.rs | 17 +++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 src/data/roflcopter.gif diff --git a/src/data/roflcopter.gif b/src/data/roflcopter.gif new file mode 100644 index 0000000..521f01d Binary files /dev/null and b/src/data/roflcopter.gif differ 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:
Prøv å bruke sånn ca. samme timestamp-format (HH:MM) o.l. som eksisterende quotes :-)

-<- Tilbake til quotes +← Tilbake til quotes {{/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 @@
-Takk ^___^ +
+Takk for quote! +
+ +← Tilbake til quotes

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 { ))) } +const ROFLCOPTER: &'static [u8] = include_bytes!("data/roflcopter.gif"); + +fn static_file(r: &mut Request) -> IronResult { + let file = iexpect!(r.extensions.get::().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); -- cgit v1.2.3