Skip to content

Commit b7252dd

Browse files
authored
Merge pull request #461 from jbr/mime-guess
🐞 add a minimal version of mime guessing to serve_dir
2 parents 28e5904 + 049d1c1 commit b7252dd

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,14 @@ serde_json = "1.0.41"
3939
serde_qs = "0.5.0"
4040
async-std = { version = "1.4.0", features = ["unstable"] }
4141
mime = "0.3.14"
42-
cookie = { version="0.12.0", features = ["percent-encode"]}
42+
cookie = { version = "0.12.0", features = ["percent-encode"]}
4343
futures-core = "0.3.1"
4444
futures = { version = "0.3.1", optional = true }
4545
http = { version = "0.2.0", optional = true }
4646
tokio = { version = "0.2.13", optional = true }
4747
url = "2.1.1"
4848
kv-log-macro = "1.0.4"
49+
mime_guess = "2.0.3"
4950

5051
[dev-dependencies]
5152
async-std = { version = "1.4.0", features = ["unstable", "attributes"] }

src/server/serve_dir.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,11 @@ impl<State> Endpoint<State> for ServeDir {
6969
// TODO: fix related bug where async-h1 crashes on large files
7070
let mut res = Response::new(StatusCode::Ok);
7171
res.set_body(body);
72+
73+
if let Some(content_type) = mime_guess::from_path(&file_path).first() {
74+
res = res.set_mime(content_type);
75+
}
76+
7277
Ok(res)
7378
})
7479
}

0 commit comments

Comments
 (0)