From 03cbe07a15514f3ad300c310741a6b7769101455 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 16 Sep 2023 07:35:08 +0200 Subject: Simplify file handling --- src/index.ts | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/src/index.ts b/src/index.ts index f4279c8..57c612a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -108,31 +108,15 @@ async function serveFile( statusCode: number = 200, extraHeaders: Record = {}, ): Promise { - if (file && (await file.handle.exists())) { - metrics.requestsByStatus.inc({ status_code: statusCode }); - return new Response(file.handle, { - headers: { - "last-modified": file.mtime.toUTCString(), - ...extraHeaders, - ...(file.headers || defaultHeaders), - }, - status: statusCode, - }); - } else { - metrics.requestsByStatus.inc({ status_code: 404 }); - // TODO return encoded - return serveFile(files.get("/404.html"), 404); - } -} - -async function serveEncodedFile( - file: File | undefined, - statusCode: number = 200, - extraHeaders: Record = {}, -): Promise { - const res = await serveFile(file, statusCode, extraHeaders); - res.headers.delete("content-disposition"); - return res; + metrics.requestsByStatus.inc({ status_code: statusCode }); + return new Response(await file.handle.arrayBuffer(), { + headers: { + "last-modified": file.mtime.toUTCString(), + ...extraHeaders, + ...(file.headers || defaultHeaders), + }, + status: statusCode, + }); } function parseIfModifiedSinceHeader(header: string | null): number { -- cgit 1.4.1