summaryrefslogtreecommitdiff
path: root/cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js')
-rw-r--r--cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js b/cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js
new file mode 100644
index 000000000..d29a7d936
--- /dev/null
+++ b/cli/bench/testdata/npm/hono/dist/middleware/serve-static/bun.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.serveStatic = void 0;
+const filepath_1 = require("../../utils/filepath");
+const mime_1 = require("../../utils/mime");
+// @ts-ignore
+const { file } = Bun;
+const DEFAULT_DOCUMENT = 'index.html';
+const serveStatic = (options = { root: '' }) => {
+ return async (c, next) => {
+ // Do nothing if Response is already set
+ if (c.res && c.finalized) {
+ await next();
+ }
+ const url = new URL(c.req.url);
+ let path = (0, filepath_1.getFilePath)({
+ filename: options.path ?? url.pathname,
+ root: options.root,
+ defaultDocument: DEFAULT_DOCUMENT,
+ });
+ path = `./${path}`;
+ const content = file(path);
+ if (content) {
+ const mimeType = (0, mime_1.getMimeType)(path);
+ if (mimeType) {
+ c.header('Content-Type', mimeType);
+ }
+ // Return Response object
+ return c.body(content);
+ }
+ else {
+ console.warn(`Static file: ${path} is not found`);
+ await next();
+ }
+ return;
+ };
+};
+exports.serveStatic = serveStatic;