summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2017-07-22 10:58:16 -0400
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2017-07-22 11:16:21 -0400
commitc515dd5fb598c1e3bdb17d6ef78109b6c99369c2 (patch)
treeebfa0ed24039fc7c0797546852b61ca9667ac866
parentdffea65ddb29d36f38f10c7ddcdf378fd5908584 (diff)
add: All-important roflcopter.gif
-rw-r--r--src/data/roflcopter.gifbin0 -> 1315 bytes
-rw-r--r--src/data/templates/add.hbs2
-rw-r--r--src/data/templates/add_post.hbs6
-rw-r--r--src/server.rs17
4 files changed, 23 insertions, 2 deletions
diff --git a/src/data/roflcopter.gif b/src/data/roflcopter.gif
new file mode 100644
index 0000000..521f01d
--- /dev/null
+++ b/src/data/roflcopter.gif
Binary files 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:<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">&lt;- 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);