guess MIME for JavaScript files so that `ptth_file_server` can serve Jet Racing 4 locally.
Firfox has a bunch of odd security features that I only sometimes understand. Among them is that it won't load JS files without the `content-type` header, and it also disables a lot of features for the `file://` scheme. Which I think is a shame. There's probably a good reason they do this, but I'm not aware of one. So now you can use PTTH's file server to host Jet Racing 4.main
parent
2972e85671
commit
98b43d1ba2
|
@ -141,6 +141,7 @@ async fn serve_dir_json (
|
|||
|
||||
#[instrument (level = "debug", skip (f))]
|
||||
async fn serve_file (
|
||||
uri: &str,
|
||||
mut f: File,
|
||||
client_wants_body: bool,
|
||||
range: range::ValidParsed,
|
||||
|
@ -211,6 +212,12 @@ async fn serve_file (
|
|||
response.header (String::from ("content-range"), format! ("bytes {}-{}/{}", range.start, range.end - 1, range.end).into_bytes ());
|
||||
}
|
||||
|
||||
// Guess MIME type based on the URI so that we can serve web games
|
||||
|
||||
if uri.ends_with (".js") {
|
||||
response.header ("content-type".into (), b"application/javascript".to_vec ());
|
||||
}
|
||||
|
||||
response.content_length = Some (content_length);
|
||||
|
||||
if let Some (body) = body {
|
||||
|
@ -402,7 +409,7 @@ impl FileServer {
|
|||
file,
|
||||
send_body,
|
||||
range,
|
||||
}) => serve_file (file.into_inner (), send_body, range, headers.get ("if-none-match").map (|v| &v[..])).await?,
|
||||
}) => serve_file (uri, file.into_inner (), send_body, range, headers.get ("if-none-match").map (|v| &v[..])).await?,
|
||||
MarkdownErr (e) => {
|
||||
#[cfg (feature = "markdown")]
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue