-
Notifications
You must be signed in to change notification settings - Fork 0
/
serve.ts
32 lines (28 loc) · 931 Bytes
/
serve.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const PORT = 3000;
console.log("Serving on port", PORT);
const fs = require("fs");
Bun.serve({
port: PORT,
fetch: async (req) => {
const host = req.headers.get("host");
const url = req.url;
const path = url.split(host)[1];
console.log(path)
if (path === "/") {
return new Response(Bun.file("src/.vitepress/dist/index.html"))
}
const file0 = `src/.vitepress/dist${path}`
if (path.endsWith("/") || path.endsWith(".html")) {
return new Response(Bun.file(file0))
}
if (fs.existsSync(file0)) {
return new Response(Bun.file(file0))
}
const file1 = `src/.vitepress/dist${path}/index.html`
if (fs.existsSync(file1)) {
return new Response(Bun.file(file1))
}
const file2 = `src/.vitepress/dist${path}.html`
return new Response(Bun.file(file2))
}
})