From 0985868a495d54a765d82145885562e4631cc5a6 Mon Sep 17 00:00:00 2001 From: Robert Czechowski Date: Fri, 16 Oct 2020 11:42:35 +0200 Subject: [PATCH] Set mimetype to text/csv for CSV downloads. Fixes #115 --- src/webfw_iron.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/webfw_iron.rs b/src/webfw_iron.rs index d2cb00e3..7f2431ae 100644 --- a/src/webfw_iron.rs +++ b/src/webfw_iron.rs @@ -21,6 +21,7 @@ use iron::modifiers::Redirect; use iron::modifiers::RedirectRaw; use iron::prelude::*; use iron::{status, AfterMiddleware, AroundMiddleware, Handler}; +use iron::mime::Mime; use iron_sessionstorage; use iron_sessionstorage::backends::SignedCookieBackend; use iron_sessionstorage::traits::*; @@ -492,9 +493,10 @@ fn contestresults_download(req: &mut Request) -> IronResult // TODO: The name should be returned by core::show_contest_results directly )] }; + let mime: Mime = "text/csv".parse().unwrap(); let mut resp = Response::new(); resp.headers.set(cd); - resp.set_mut(Template::new(&format!("{}_download", template), data)).set_mut(status::Ok); + resp.set_mut(Template::new(&format!("{}_download", template), data)).set_mut(status::Ok).set_mut(mime); Ok(resp) } @@ -739,9 +741,10 @@ fn group_download(req: &mut Request) -> IronResult // TODO: The name should be returned by core::show_group directly )] }; + let mime: Mime = "text/csv".parse().unwrap(); let mut resp = Response::new(); resp.headers.set(cd); - resp.set_mut(Template::new(&format!("{}_download", template), data)).set_mut(status::Ok); + resp.set_mut(Template::new(&format!("{}_download", template), data)).set_mut(status::Ok).set_mut(mime); Ok(resp) } -- GitLab