From 08bf4694caaadaffe26828ced639b0b0fc3ca9ec Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Fri, 1 Apr 2022 19:53:02 -0700 Subject: [PATCH] http file example --- examples/bun/http-file.ts | 25 +++++++++++++++++++++++++ examples/bun/{htttp.ts => http.ts} | 0 2 files changed, 25 insertions(+) create mode 100644 examples/bun/http-file.ts rename examples/bun/{htttp.ts => http.ts} (100%) diff --git a/examples/bun/http-file.ts b/examples/bun/http-file.ts new file mode 100644 index 0000000000..9d0a2362f2 --- /dev/null +++ b/examples/bun/http-file.ts @@ -0,0 +1,25 @@ +// Start a fast HTTP server from a function +Bun.serve({ + fetch(req) { + const url = new URL(req.url.substring(1), "file://" + import.meta.path); + const path = Bun.resolveSync(url.pathname, import.meta.path); + return new Response(Bun.file(path)); + }, + + // this is called when fetch() throws or rejects + error(err: Error) { + return new Response("uh oh! :(" + String(err.toString()), { status: 500 }); + }, + + // this boolean enables the bun's default error handler + // sometime after the initial release, it will auto reload as well + development: process.env.NODE_ENV !== "production", + // note: this isn't node, but for compatibility bun supports process.env + more stuff in process + + // SSL is enabled if these two are set + // certFile: './cert.pem', + // keyFile: './key.pem', + + port: 8080, // number or string + hostname: "localhost", // defaults to 0.0.0.0 +}); diff --git a/examples/bun/htttp.ts b/examples/bun/http.ts similarity index 100% rename from examples/bun/htttp.ts rename to examples/bun/http.ts