diff options
| author | Kitson Kelly <me@kitsonkelly.com> | 2019-01-11 16:16:47 +1100 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2019-01-11 00:16:47 -0500 |
| commit | 0e933177adb87338cdd554f5de39cef3d40407c2 (patch) | |
| tree | 9dac11ddef1d50e6354d4dc40bbe388c3a3c5b53 /net/file_server.ts | |
| parent | 6f5dbfe10234060828670c8848eb7e42ded1c4cd (diff) | |
Add media_types collection (denoland/deno_std#97)
Original: https://github.com/denoland/deno_std/commit/0e00fe9cd361165d28beb117cdf103ff8f9d3d8b
Diffstat (limited to 'net/file_server.ts')
| -rwxr-xr-x | net/file_server.ts | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/net/file_server.ts b/net/file_server.ts index bebb93969..72432abdd 100755 --- a/net/file_server.ts +++ b/net/file_server.ts @@ -13,7 +13,7 @@ import { } from "./http.ts"; import { cwd, DenoError, ErrorKind, args, stat, readDir, open } from "deno"; import { extname } from "../fs/path.ts"; -import * as extensionsMap from "./extension_map.json"; +import { contentType } from "../media_types/mod.ts"; const dirViewerTemplate = ` <!DOCTYPE html> @@ -162,30 +162,12 @@ async function serveDir(req: ServerRequest, dirPath: string, dirName: string) { return res; } -function guessContentType(filename: string): string { - let extension = extname(filename); - let contentType = extensionsMap[extension]; - - if (contentType) { - return contentType; - } - - extension = extension.toLowerCase(); - contentType = extensionsMap[extension]; - - if (contentType) { - return contentType; - } - - return extensionsMap[""]; -} - async function serveFile(req: ServerRequest, filename: string) { const file = await open(filename); const fileInfo = await stat(filename); const headers = new Headers(); headers.set("content-length", fileInfo.len.toString()); - headers.set("content-type", guessContentType(filename)); + headers.set("content-type", contentType(extname(filename)) || "text/plain"); const res = { status: 200, |
