UNPKG

@geek-fun/serverless-adapter

Version:

Adapter for web frame work express, koa, springboot to run in serverless function as backend of apigateway cross multi cloud provider like aliyun, huawei

25 lines (24 loc) 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const context_1 = require("./context"); const transport_1 = require("./transport"); const framework_1 = require("./framework"); const common_1 = require("./common"); const serverlessAdapter = (app) => { const serverlessFramework = (0, framework_1.constructFramework)(app); return async (event, context) => { (0, common_1.debug)(`serverlessAdapter receive event: ${JSON.stringify({ event, context })}`); const { request } = (0, context_1.constructFrameworkContext)(event, context); (0, common_1.debug)(`serverlessAdapter constructFrameworkContext: ${JSON.stringify({ request })}`); try { const response = await serverlessFramework(request); await (0, transport_1.waitForStreamComplete)(response); return (0, transport_1.buildResponse)({ request, response }); } catch (err) { const errorResponse = { statusCode: 500, body: err.message }; return errorResponse; } }; }; exports.default = serverlessAdapter;