about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/index.ts34
1 files 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<string, string> = {},
 ): Promise<Response> {
-  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<string, string> = {},
-): Promise<Response> {
-  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 {