@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
JavaScript
;
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;