From a5e87e5936e3c326d26a6f9636d6bdb51635fce5 Mon Sep 17 00:00:00 2001 From: Jose Quintana Date: Sun, 13 Mar 2022 22:50:50 +0100 Subject: [PATCH] refactor: typed `content-type` header for error pages & dir listing --- src/error_page.rs | 11 ++++------- src/static_files.rs | 8 +++----- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/error_page.rs b/src/error_page.rs index 193bec3..9370ccf 100644 --- a/src/error_page.rs +++ b/src/error_page.rs @@ -1,6 +1,6 @@ -use headers::{AcceptRanges, ContentLength, ContentType, HeaderMapExt, HeaderValue}; -use http::header::CONTENT_TYPE; +use headers::{AcceptRanges, ContentLength, ContentType, HeaderMapExt}; use hyper::{Body, Method, Response, StatusCode}; +use mime_guess::mime; use crate::Result; @@ -83,12 +83,9 @@ pub fn error_response( let mut resp = Response::new(body); *resp.status_mut() = *status_code; - resp.headers_mut().insert( - CONTENT_TYPE, - HeaderValue::from_static("text/html; charset=utf-8"), - ); + resp.headers_mut() + .typed_insert(ContentType::from(mime::TEXT_HTML_UTF_8)); resp.headers_mut().typed_insert(ContentLength(len)); - resp.headers_mut().typed_insert(ContentType::html()); resp.headers_mut().typed_insert(AcceptRanges::bytes()); Ok(resp) diff --git a/src/static_files.rs b/src/static_files.rs index ef4d3d9..1fe5cc5 100644 --- a/src/static_files.rs +++ b/src/static_files.rs @@ -8,9 +8,9 @@ use headers::{ AcceptRanges, ContentLength, ContentRange, ContentType, HeaderMap, HeaderMapExt, HeaderValue, IfModifiedSince, IfRange, IfUnmodifiedSince, LastModified, Range, }; -use http::header::CONTENT_TYPE; use humansize::{file_size_opts, FileSize}; use hyper::{Body, Method, Response, StatusCode}; +use mime_guess::mime; use percent_encoding::percent_decode_str; use std::cmp::Ordering; use std::fs::Metadata; @@ -361,10 +361,8 @@ async fn read_directory_entries( ); let mut resp = Response::new(Body::empty()); - resp.headers_mut().insert( - CONTENT_TYPE, - HeaderValue::from_static("text/html; charset=utf-8"), - ); + resp.headers_mut() + .typed_insert(ContentType::from(mime::TEXT_HTML_UTF_8)); resp.headers_mut() .typed_insert(ContentLength(page_str.len() as u64)); -- libgit2 1.7.2