all repos — archive/homestead @ c738123d55b8c9418a76afcbfd4480cc90de0e94

My future indieweb platform

Use bun's builtin mime logic

Alan Pearce
commit

c738123d55b8c9418a76afcbfd4480cc90de0e94

parent

37ee14f5472a9bb4688238fb89bd1d9f2658e66d

3 files changed, 3 insertions(+), 10 deletions(-)

jump to
M bun.lockbbun.lockb

Not showing binary file.

M package.jsonpackage.json
@@ -2,7 +2,6 @@ {
"name": "homestead", "module": "src/index.ts", "devDependencies": { - "@types/mime-types": "^2.1.1", "bun-html-live-reload": "^0.1.1", "bun-types": "latest" },
@@ -11,7 +10,6 @@ "typescript": "^5.0.0"
}, "type": "module", "dependencies": { - "mime-types": "^2.1.35", "toml": "^3.0.0" } }
M src/index.tssrc/index.ts
@@ -2,7 +2,6 @@ import path from "node:path";
import fs, { Stats } from "node:fs"; import fsp from "node:fs/promises"; import { withHtmlLiveReload } from "bun-html-live-reload"; -import mime from "mime-types"; import type { BunFile } from "bun-types"; import readConfig from "./config";
@@ -105,10 +104,6 @@ function parseIfModifiedSinceHeader(header: string | null): number {
return header ? new Date(header).getTime() + 999 : 0; } -function getMIME(filename: string): string { - return mime.contentType(path.extname(filename)) || "text/plain"; -} - export default withHtmlLiveReload({ fetch: async function (request) { const pathname = new URL(request.url).pathname;
@@ -130,7 +125,7 @@ request.headers.get("user-agent"),
); return serveEncodedFile(files.get(file.relPath + ".br"), 200, { "content-encoding": "br", - "content-type": getMIME(file.filename), + "content-type": file.handle.type, }); } else if ( encodings.includes("zstd") &&
@@ -138,7 +133,7 @@ files.has(file.relPath + ".zst")
) { return serveEncodedFile(files.get(file.relPath + ".zst"), 200, { "content-encoding": "zstd", - "content-type": getMIME(file.filename), + "content-type": file.handle.type, }); } else if ( encodings.includes("gzip") &&
@@ -146,7 +141,7 @@ files.has(file.relPath + ".gz")
) { return serveEncodedFile(files.get(file.relPath + ".gz"), 200, { "content-encoding": "gzip", - "content-type": getMIME(file.filename), + "content-type": file.handle.type, }); } }