From 2c795e6a3cf8386d77dae040a1d39b1d637e145f Mon Sep 17 00:00:00 2001 From: Ashcon Partovi Date: Thu, 23 Feb 2023 09:54:22 -0800 Subject: bun-lambda: Fix 502 when handler name was 'fetch' --- packages/bun-lambda/runtime.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'packages/bun-lambda/runtime.ts') diff --git a/packages/bun-lambda/runtime.ts b/packages/bun-lambda/runtime.ts index c29462b9b..4b38b6dfa 100755 --- a/packages/bun-lambda/runtime.ts +++ b/packages/bun-lambda/runtime.ts @@ -146,20 +146,23 @@ async function init(): Promise { } return throwError("InitError", cause); } - const moduleName = handlerName.substring(index + 1) || "default"; - let module = file[moduleName]; - if (moduleName !== "default") { + const moduleName = handlerName.substring(index + 1) || "fetch"; + let module = file["default"] ?? file[moduleName] ?? {}; + if (typeof module === "function") { module = { fetch: module, }; + } else if (typeof module === "object" && moduleName !== "fetch") { + module = { + ...module, + fetch: module[moduleName], + }; } const { fetch, websocket } = module; if (typeof fetch !== "function") { return throwError( fetch === undefined ? "MethodDoesNotExist" : "MethodIsNotAFunction", - moduleName === "default" - ? `${fileName} does not have a default export with a function named 'fetch'` - : `${fileName} does not export a function named '${moduleName}'`, + `${fileName} does not have a default export with a function named '${moduleName}'`, ); } if (websocket === undefined) { -- cgit v1.2.3