server: readd content disposition attachement if ext present

This commit is contained in:
k
2024-11-04 12:44:15 +01:00
parent 2abeca6220
commit d83043d8f2
2 changed files with 14 additions and 1 deletions

View File

@@ -150,7 +150,14 @@ pub fn update_reponse_headers(
headers.insert_cache_control_revalidate(max_age, stale_while_revalidate);
match extension {
Some(Extension::CSV) => headers.insert_content_type_text_csv(),
Some(extension) => {
headers.insert_content_disposition_attachment();
match extension {
Extension::CSV => headers.insert_content_type_text_csv(),
Extension::JSON => headers.insert_content_type_application_json(),
}
}
_ => headers.insert_content_type_application_json(),
}

View File

@@ -34,6 +34,8 @@ pub trait HeaderMapUtils {
fn insert_cache_control_revalidate(&mut self, max_age: u64, stale_while_revalidate: u64);
fn insert_last_modified(&mut self, date: DateTime<Utc>);
fn insert_content_disposition_attachment(&mut self);
fn insert_content_type(&mut self, path: &Path);
fn insert_content_type_image_icon(&mut self);
fn insert_content_type_image_jpeg(&mut self);
@@ -88,6 +90,10 @@ impl HeaderMapUtils for HeaderMap {
);
}
fn insert_content_disposition_attachment(&mut self) {
self.insert(header::CONTENT_DISPOSITION, "attachment".parse().unwrap());
}
fn insert_cache_control_revalidate(&mut self, max_age: u64, stale_while_revalidate: u64) {
self.insert(
header::CACHE_CONTROL,