Add runtime layer for Bun on AWS Lambda (#2009)

This commit is contained in:
Ashcon Partovi
2023-02-22 10:34:16 -08:00
committed by GitHub
parent 2dc85c4e45
commit ee60a5c55c
10 changed files with 1174 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
import type { Server, ServerWebSocket } from "bun";
export default {
async fetch(request: Request, server: Server): Promise<Response | undefined> {
console.log("Request", {
url: request.url,
method: request.method,
headers: request.headers.toJSON(),
body: request.body ? await request.text() : null,
});
if (server.upgrade(request)) {
console.log("WebSocket upgraded");
return;
}
return new Response("Hello from Bun on Lambda!", {
status: 200,
headers: {
"Content-Type": "text/plain;charset=utf-8",
},
});
},
websocket: {
async open(ws: ServerWebSocket): Promise<void> {
console.log("WebSocket opened");
},
async message(ws: ServerWebSocket, message: string): Promise<void> {
console.log("WebSocket message", message);
},
async close(ws: ServerWebSocket, code: number, reason?: string): Promise<void> {
console.log("WebSocket closed", { code, reason });
},
},
};