@h4ad/serverless-adapter 2.17.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/lib/@types/binary-settings.js +2 -11
- package/lib/@types/binary-settings.js.map +1 -1
- package/lib/@types/digital-ocean/digital-ocean-http-event.js +2 -7
- package/lib/@types/digital-ocean/digital-ocean-http-event.js.map +1 -1
- package/lib/@types/digital-ocean/digital-ocean-http-response.js +2 -7
- package/lib/@types/digital-ocean/digital-ocean-http-response.js.map +1 -1
- package/lib/@types/digital-ocean/index.js +2 -18
- package/lib/@types/digital-ocean/index.js.map +1 -1
- package/lib/@types/headers.js +2 -11
- package/lib/@types/headers.js.map +1 -1
- package/lib/@types/helpers.js +2 -6
- package/lib/@types/helpers.js.map +1 -1
- package/lib/@types/huawei/huawei-api-gateway-event.js +2 -14
- package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -1
- package/lib/@types/huawei/huawei-api-gateway-response.js +2 -7
- package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -1
- package/lib/@types/huawei/huawei-context.js +2 -36
- package/lib/@types/huawei/huawei-context.js.map +1 -1
- package/lib/@types/huawei/index.js +2 -20
- package/lib/@types/huawei/index.js.map +1 -1
- package/lib/@types/index.js +2 -20
- package/lib/@types/index.js.map +1 -1
- package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js +2 -86
- package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js.map +1 -1
- package/lib/adapters/apollo-server/index.js +2 -18
- package/lib/adapters/apollo-server/index.js.map +1 -1
- package/lib/adapters/aws/alb.adapter.js +2 -129
- package/lib/adapters/aws/alb.adapter.js.map +1 -1
- package/lib/adapters/aws/api-gateway-v1.adapter.js +2 -140
- package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -1
- package/lib/adapters/aws/api-gateway-v2.adapter.js +2 -134
- package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -1
- package/lib/adapters/aws/base/aws-simple-adapter.js +2 -99
- package/lib/adapters/aws/base/aws-simple-adapter.js.map +1 -1
- package/lib/adapters/aws/base/index.js +2 -18
- package/lib/adapters/aws/base/index.js.map +1 -1
- package/lib/adapters/aws/dynamodb.adapter.js +2 -64
- package/lib/adapters/aws/dynamodb.adapter.js.map +1 -1
- package/lib/adapters/aws/event-bridge.adapter.js +2 -75
- package/lib/adapters/aws/event-bridge.adapter.js.map +1 -1
- package/lib/adapters/aws/index.js +2 -27
- package/lib/adapters/aws/index.js.map +1 -1
- package/lib/adapters/aws/lambda-edge.adapter.js +2 -284
- package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -1
- package/lib/adapters/aws/s3.adapter.js +2 -63
- package/lib/adapters/aws/s3.adapter.js.map +1 -1
- package/lib/adapters/aws/sns.adapter.js +2 -63
- package/lib/adapters/aws/sns.adapter.js.map +1 -1
- package/lib/adapters/aws/sqs.adapter.js +2 -64
- package/lib/adapters/aws/sqs.adapter.js.map +1 -1
- package/lib/adapters/azure/http-trigger-v4.adapter.js +2 -202
- package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -1
- package/lib/adapters/azure/index.js +2 -18
- package/lib/adapters/azure/index.js.map +1 -1
- package/lib/adapters/digital-ocean/http-function.adapter.js +2 -118
- package/lib/adapters/digital-ocean/http-function.adapter.js.map +1 -1
- package/lib/adapters/digital-ocean/index.js +2 -18
- package/lib/adapters/digital-ocean/index.js.map +1 -1
- package/lib/adapters/dummy/dummy.adapter.js +2 -54
- package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
- package/lib/adapters/dummy/index.js +2 -18
- package/lib/adapters/dummy/index.js.map +1 -1
- package/lib/adapters/huawei/huawei-api-gateway.adapter.js +2 -126
- package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -1
- package/lib/adapters/huawei/index.js +2 -18
- package/lib/adapters/huawei/index.js.map +1 -1
- package/lib/contracts/adapter.contract.js +2 -18
- package/lib/contracts/adapter.contract.js.map +1 -1
- package/lib/contracts/framework.contract.js +2 -7
- package/lib/contracts/framework.contract.js.map +1 -1
- package/lib/contracts/handler.contract.js +2 -13
- package/lib/contracts/handler.contract.js.map +1 -1
- package/lib/contracts/index.js +2 -21
- package/lib/contracts/index.js.map +1 -1
- package/lib/contracts/resolver.contract.js +2 -15
- package/lib/contracts/resolver.contract.js.map +1 -1
- package/lib/core/base-handler.js +2 -67
- package/lib/core/base-handler.js.map +1 -1
- package/lib/core/constants.js +2 -33
- package/lib/core/constants.js.map +1 -1
- package/lib/core/current-invoke.js +2 -46
- package/lib/core/current-invoke.js.map +1 -1
- package/lib/core/event-body.js +2 -31
- package/lib/core/event-body.js.map +1 -1
- package/lib/core/headers.js +3 -97
- package/lib/core/headers.js.map +1 -1
- package/lib/core/index.js +2 -28
- package/lib/core/index.js.map +1 -1
- package/lib/core/is-binary.js +2 -118
- package/lib/core/is-binary.js.map +1 -1
- package/lib/core/logger.js +2 -115
- package/lib/core/logger.js.map +1 -1
- package/lib/core/no-op.js +2 -12
- package/lib/core/no-op.js.map +1 -1
- package/lib/core/optional.js +2 -31
- package/lib/core/optional.js.map +1 -1
- package/lib/core/path.js +2 -68
- package/lib/core/path.js.map +1 -1
- package/lib/core/stream.js +2 -63
- package/lib/core/stream.js.map +1 -1
- package/lib/frameworks/apollo-server/apollo-server.framework.js +2 -87
- package/lib/frameworks/apollo-server/apollo-server.framework.js.map +1 -1
- package/lib/frameworks/apollo-server/index.js +2 -18
- package/lib/frameworks/apollo-server/index.js.map +1 -1
- package/lib/frameworks/body-parser/base-body-parser.framework.js +2 -66
- package/lib/frameworks/body-parser/base-body-parser.framework.js.map +1 -1
- package/lib/frameworks/body-parser/index.js +2 -22
- package/lib/frameworks/body-parser/index.js.map +1 -1
- package/lib/frameworks/body-parser/json-body-parser.framework.js +2 -29
- package/lib/frameworks/body-parser/json-body-parser.framework.js.map +1 -1
- package/lib/frameworks/body-parser/raw-body-parser.framework.js +2 -29
- package/lib/frameworks/body-parser/raw-body-parser.framework.js.map +1 -1
- package/lib/frameworks/body-parser/text-body-parser.framework.js +2 -29
- package/lib/frameworks/body-parser/text-body-parser.framework.js.map +1 -1
- package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js +2 -29
- package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js.map +1 -1
- package/lib/frameworks/cors/cors.framework.js +3 -145
- package/lib/frameworks/cors/cors.framework.js.map +1 -1
- package/lib/frameworks/cors/index.js +2 -18
- package/lib/frameworks/cors/index.js.map +1 -1
- package/lib/frameworks/deepkit/http-deepkit.framework.js +2 -33
- package/lib/frameworks/deepkit/http-deepkit.framework.js.map +1 -1
- package/lib/frameworks/deepkit/index.js +2 -18
- package/lib/frameworks/deepkit/index.js.map +1 -1
- package/lib/frameworks/express/express.framework.js +2 -22
- package/lib/frameworks/express/express.framework.js.map +1 -1
- package/lib/frameworks/express/index.js +2 -18
- package/lib/frameworks/express/index.js.map +1 -1
- package/lib/frameworks/fastify/fastify.framework.js +2 -23
- package/lib/frameworks/fastify/fastify.framework.js.map +1 -1
- package/lib/frameworks/fastify/helpers/no-op-content-parser.js +2 -27
- package/lib/frameworks/fastify/helpers/no-op-content-parser.js.map +1 -1
- package/lib/frameworks/fastify/index.js +2 -18
- package/lib/frameworks/fastify/index.js.map +1 -1
- package/lib/frameworks/hapi/hapi.framework.js +2 -23
- package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
- package/lib/frameworks/hapi/index.js +2 -18
- package/lib/frameworks/hapi/index.js.map +1 -1
- package/lib/frameworks/koa/index.js +2 -18
- package/lib/frameworks/koa/index.js.map +1 -1
- package/lib/frameworks/koa/koa.framework.js +2 -22
- package/lib/frameworks/koa/koa.framework.js.map +1 -1
- package/lib/frameworks/lazy/index.js +2 -18
- package/lib/frameworks/lazy/index.js.map +1 -1
- package/lib/frameworks/lazy/lazy.framework.js +2 -82
- package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
- package/lib/frameworks/trpc/index.js +2 -18
- package/lib/frameworks/trpc/index.js.map +1 -1
- package/lib/frameworks/trpc/trpc.framework.js +2 -153
- package/lib/frameworks/trpc/trpc.framework.js.map +1 -1
- package/lib/handlers/aws/aws-stream.handler.js +2 -169
- package/lib/handlers/aws/aws-stream.handler.js.map +1 -1
- package/lib/handlers/aws/index.js +2 -18
- package/lib/handlers/aws/index.js.map +1 -1
- package/lib/handlers/azure/azure.handler.js +2 -74
- package/lib/handlers/azure/azure.handler.js.map +1 -1
- package/lib/handlers/azure/index.js +2 -18
- package/lib/handlers/azure/index.js.map +1 -1
- package/lib/handlers/base/index.js +2 -18
- package/lib/handlers/base/index.js.map +1 -1
- package/lib/handlers/base/raw-request.js +2 -65
- package/lib/handlers/base/raw-request.js.map +1 -1
- package/lib/handlers/default/default.handler.js +2 -191
- package/lib/handlers/default/default.handler.js.map +1 -1
- package/lib/handlers/default/index.js +2 -18
- package/lib/handlers/default/index.js.map +1 -1
- package/lib/handlers/digital-ocean/digital-ocean.handler.js +2 -34
- package/lib/handlers/digital-ocean/digital-ocean.handler.js.map +1 -1
- package/lib/handlers/digital-ocean/index.js +2 -18
- package/lib/handlers/digital-ocean/index.js.map +1 -1
- package/lib/handlers/firebase/http-firebase-v2.handler.js +2 -50
- package/lib/handlers/firebase/http-firebase-v2.handler.js.map +1 -1
- package/lib/handlers/firebase/http-firebase.handler.js +2 -27
- package/lib/handlers/firebase/http-firebase.handler.js.map +1 -1
- package/lib/handlers/firebase/index.js +2 -19
- package/lib/handlers/firebase/index.js.map +1 -1
- package/lib/handlers/gcp/gcp.handler.js +2 -40
- package/lib/handlers/gcp/gcp.handler.js.map +1 -1
- package/lib/handlers/gcp/index.js +2 -18
- package/lib/handlers/gcp/index.js.map +1 -1
- package/lib/handlers/huawei/http-huawei.handler.js +2 -106
- package/lib/handlers/huawei/http-huawei.handler.js.map +1 -1
- package/lib/handlers/huawei/index.js +2 -18
- package/lib/handlers/huawei/index.js.map +1 -1
- package/lib/index.doc.js +2 -0
- package/lib/index.doc.js.map +1 -0
- package/lib/index.js +2 -22
- package/lib/index.js.map +1 -1
- package/lib/network/index.js +2 -21
- package/lib/network/index.js.map +1 -1
- package/lib/network/request.js +2 -46
- package/lib/network/request.js.map +1 -1
- package/lib/network/response-stream.js +7 -88
- package/lib/network/response-stream.js.map +1 -1
- package/lib/network/response.js +4 -127
- package/lib/network/response.js.map +1 -1
- package/lib/network/utils.js +2 -21
- package/lib/network/utils.js.map +1 -1
- package/lib/resolvers/aws-context/aws-context.resolver.js +2 -59
- package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -1
- package/lib/resolvers/aws-context/index.js +2 -18
- package/lib/resolvers/aws-context/index.js.map +1 -1
- package/lib/resolvers/callback/callback.resolver.js +2 -53
- package/lib/resolvers/callback/callback.resolver.js.map +1 -1
- package/lib/resolvers/callback/index.js +2 -18
- package/lib/resolvers/callback/index.js.map +1 -1
- package/lib/resolvers/dummy/dummy.resolver.js +2 -24
- package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
- package/lib/resolvers/dummy/index.js +2 -18
- package/lib/resolvers/dummy/index.js.map +1 -1
- package/lib/resolvers/promise/index.js +2 -18
- package/lib/resolvers/promise/index.js.map +1 -1
- package/lib/resolvers/promise/promise.resolver.js +2 -48
- package/lib/resolvers/promise/promise.resolver.js.map +1 -1
- package/lib/serverless-adapter.js +2 -176
- package/lib/serverless-adapter.js.map +1 -1
- package/package.json +61 -79
- package/lib/@types/binary-settings.d.ts +0 -43
- package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +0 -37
- package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +0 -22
- package/lib/@types/digital-ocean/index.d.ts +0 -1
- package/lib/@types/headers.d.ts +0 -39
- package/lib/@types/helpers.d.ts +0 -10
- package/lib/@types/huawei/huawei-api-gateway-event.d.ts +0 -84
- package/lib/@types/huawei/huawei-api-gateway-response.d.ts +0 -27
- package/lib/@types/huawei/huawei-context.d.ts +0 -203
- package/lib/@types/huawei/index.d.ts +0 -3
- package/lib/@types/index.d.ts +0 -3
- package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +0 -56
- package/lib/adapters/apollo-server/index.d.ts +0 -1
- package/lib/adapters/aws/alb.adapter.d.ts +0 -66
- package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +0 -71
- package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +0 -70
- package/lib/adapters/aws/base/aws-simple-adapter.d.ts +0 -85
- package/lib/adapters/aws/base/index.d.ts +0 -1
- package/lib/adapters/aws/dynamodb.adapter.d.ts +0 -56
- package/lib/adapters/aws/event-bridge.adapter.d.ts +0 -64
- package/lib/adapters/aws/index.d.ts +0 -10
- package/lib/adapters/aws/lambda-edge.adapter.d.ts +0 -213
- package/lib/adapters/aws/s3.adapter.d.ts +0 -56
- package/lib/adapters/aws/sns.adapter.d.ts +0 -56
- package/lib/adapters/aws/sqs.adapter.d.ts +0 -56
- package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +0 -81
- package/lib/adapters/azure/index.d.ts +0 -1
- package/lib/adapters/digital-ocean/http-function.adapter.d.ts +0 -65
- package/lib/adapters/digital-ocean/index.d.ts +0 -1
- package/lib/adapters/dummy/dummy.adapter.d.ts +0 -30
- package/lib/adapters/dummy/index.d.ts +0 -1
- package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +0 -66
- package/lib/adapters/huawei/index.d.ts +0 -1
- package/lib/contracts/adapter.contract.d.ts +0 -155
- package/lib/contracts/framework.contract.d.ts +0 -19
- package/lib/contracts/handler.contract.d.ts +0 -26
- package/lib/contracts/index.d.ts +0 -4
- package/lib/contracts/resolver.contract.d.ts +0 -86
- package/lib/core/base-handler.d.ts +0 -31
- package/lib/core/constants.d.ts +0 -31
- package/lib/core/current-invoke.d.ts +0 -48
- package/lib/core/event-body.d.ts +0 -21
- package/lib/core/headers.d.ts +0 -47
- package/lib/core/index.d.ts +0 -11
- package/lib/core/is-binary.d.ts +0 -72
- package/lib/core/logger.d.ts +0 -67
- package/lib/core/no-op.d.ts +0 -7
- package/lib/core/optional.d.ts +0 -21
- package/lib/core/path.d.ts +0 -36
- package/lib/core/stream.d.ts +0 -20
- package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +0 -71
- package/lib/frameworks/apollo-server/index.d.ts +0 -1
- package/lib/frameworks/body-parser/base-body-parser.framework.d.ts +0 -69
- package/lib/frameworks/body-parser/index.d.ts +0 -5
- package/lib/frameworks/body-parser/json-body-parser.framework.d.ts +0 -26
- package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts +0 -26
- package/lib/frameworks/body-parser/text-body-parser.framework.d.ts +0 -26
- package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts +0 -26
- package/lib/frameworks/cors/cors.framework.d.ts +0 -78
- package/lib/frameworks/cors/index.d.ts +0 -1
- package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +0 -17
- package/lib/frameworks/deepkit/index.d.ts +0 -1
- package/lib/frameworks/express/express.framework.d.ts +0 -16
- package/lib/frameworks/express/index.d.ts +0 -1
- package/lib/frameworks/fastify/fastify.framework.d.ts +0 -16
- package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts +0 -13
- package/lib/frameworks/fastify/index.d.ts +0 -1
- package/lib/frameworks/hapi/hapi.framework.d.ts +0 -16
- package/lib/frameworks/hapi/index.d.ts +0 -1
- package/lib/frameworks/koa/index.d.ts +0 -1
- package/lib/frameworks/koa/koa.framework.d.ts +0 -16
- package/lib/frameworks/lazy/index.d.ts +0 -1
- package/lib/frameworks/lazy/lazy.framework.d.ts +0 -55
- package/lib/frameworks/trpc/index.d.ts +0 -1
- package/lib/frameworks/trpc/trpc.framework.d.ts +0 -155
- package/lib/handlers/aws/aws-stream.handler.d.ts +0 -83
- package/lib/handlers/aws/index.d.ts +0 -1
- package/lib/handlers/azure/azure.handler.d.ts +0 -45
- package/lib/handlers/azure/index.d.ts +0 -1
- package/lib/handlers/base/index.d.ts +0 -1
- package/lib/handlers/base/raw-request.d.ts +0 -30
- package/lib/handlers/default/default.handler.d.ts +0 -87
- package/lib/handlers/default/index.d.ts +0 -1
- package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +0 -16
- package/lib/handlers/digital-ocean/index.d.ts +0 -1
- package/lib/handlers/firebase/http-firebase-v2.handler.d.ts +0 -26
- package/lib/handlers/firebase/http-firebase.handler.d.ts +0 -18
- package/lib/handlers/firebase/index.d.ts +0 -2
- package/lib/handlers/gcp/gcp.handler.d.ts +0 -25
- package/lib/handlers/gcp/index.d.ts +0 -1
- package/lib/handlers/huawei/http-huawei.handler.d.ts +0 -59
- package/lib/handlers/huawei/index.d.ts +0 -1
- package/lib/index.d.ts +0 -5
- package/lib/network/index.d.ts +0 -4
- package/lib/network/request.d.ts +0 -44
- package/lib/network/response-stream.d.ts +0 -41
- package/lib/network/response.d.ts +0 -48
- package/lib/network/utils.d.ts +0 -7
- package/lib/resolvers/aws-context/aws-context.resolver.d.ts +0 -18
- package/lib/resolvers/aws-context/index.d.ts +0 -1
- package/lib/resolvers/callback/callback.resolver.d.ts +0 -23
- package/lib/resolvers/callback/index.d.ts +0 -1
- package/lib/resolvers/dummy/dummy.resolver.d.ts +0 -13
- package/lib/resolvers/dummy/index.d.ts +0 -1
- package/lib/resolvers/promise/index.d.ts +0 -1
- package/lib/resolvers/promise/promise.resolver.d.ts +0 -13
- package/lib/serverless-adapter.d.ts +0 -118
|
@@ -1,118 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.HttpFunctionAdapter = exports.__ΩHttpFunctionAdapterOptions = void 0;
|
|
4
|
-
const { __ΩDigitalOceanHttpEvent } = require('../../@types/digital-ocean');
|
|
5
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
6
|
-
const { __ΩGetResponseAdapterProps } = require('../../contracts');
|
|
7
|
-
const { __ΩDigitalOceanHttpResponse } = require('../../@types/digital-ocean/digital-ocean-http-response');
|
|
8
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
9
|
-
const core_1 = require("../../core");
|
|
10
|
-
const __ΩHttpFunctionAdapterOptions = ['stripBasePath', 'P&4!8M'];
|
|
11
|
-
exports.__ΩHttpFunctionAdapterOptions = __ΩHttpFunctionAdapterOptions;
|
|
12
|
-
/**
|
|
13
|
-
* The adapter to handle requests from Digital Ocean Functions when called from HTTP Endpoint.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* const stripBasePath = '/any/custom/base/path'; // default ''
|
|
18
|
-
* const adapter = new HttpFunctionAdapter({ stripBasePath });
|
|
19
|
-
* ```
|
|
20
|
-
*
|
|
21
|
-
* @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter
|
|
22
|
-
* @public
|
|
23
|
-
*/
|
|
24
|
-
class HttpFunctionAdapter {
|
|
25
|
-
//#region Constructor
|
|
26
|
-
/**
|
|
27
|
-
* Default constructor
|
|
28
|
-
*
|
|
29
|
-
* @param options - The options to customize the {@link HttpFunctionAdapter}
|
|
30
|
-
*/
|
|
31
|
-
constructor(options) {
|
|
32
|
-
this.options = options;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
//#region Public Methods
|
|
36
|
-
/**
|
|
37
|
-
* {@inheritDoc}
|
|
38
|
-
*/
|
|
39
|
-
getAdapterName() {
|
|
40
|
-
return HttpFunctionAdapter.name;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* {@inheritDoc}
|
|
44
|
-
*/
|
|
45
|
-
canHandle(event) {
|
|
46
|
-
const digitalOceanHttpEvent = event;
|
|
47
|
-
return (!!digitalOceanHttpEvent &&
|
|
48
|
-
digitalOceanHttpEvent.__ow_path !== undefined &&
|
|
49
|
-
digitalOceanHttpEvent.__ow_method !== undefined &&
|
|
50
|
-
digitalOceanHttpEvent.__ow_headers !== undefined);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* {@inheritDoc}
|
|
54
|
-
*/
|
|
55
|
-
getRequest(event) {
|
|
56
|
-
const headers = event.__ow_headers;
|
|
57
|
-
const method = event.__ow_method.toUpperCase();
|
|
58
|
-
const path = this.getPathFromEvent(event);
|
|
59
|
-
let body;
|
|
60
|
-
if (event.__ow_body) {
|
|
61
|
-
const [bufferBody, contentLength] = (0, core_1.getEventBodyAsBuffer)(event.__ow_body, !!event.__ow_isBase64Encoded);
|
|
62
|
-
body = bufferBody;
|
|
63
|
-
headers['content-length'] = String(contentLength);
|
|
64
|
-
}
|
|
65
|
-
const remoteAddress = headers['x-forwarded-for'];
|
|
66
|
-
return {
|
|
67
|
-
method,
|
|
68
|
-
headers,
|
|
69
|
-
body,
|
|
70
|
-
remoteAddress,
|
|
71
|
-
path,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* {@inheritDoc}
|
|
76
|
-
*/
|
|
77
|
-
getResponse({ headers: responseHeaders, body, statusCode, }) {
|
|
78
|
-
const headers = (0, core_1.getFlattenedHeadersMap)(responseHeaders);
|
|
79
|
-
return {
|
|
80
|
-
statusCode,
|
|
81
|
-
body,
|
|
82
|
-
headers,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* {@inheritDoc}
|
|
87
|
-
*/
|
|
88
|
-
onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }) {
|
|
89
|
-
const body = respondWithErrors ? error.stack : '';
|
|
90
|
-
const errorResponse = this.getResponse({
|
|
91
|
-
event,
|
|
92
|
-
statusCode: 500,
|
|
93
|
-
body: body || '',
|
|
94
|
-
headers: {},
|
|
95
|
-
isBase64Encoded: false,
|
|
96
|
-
log,
|
|
97
|
-
});
|
|
98
|
-
delegatedResolver.succeed(errorResponse);
|
|
99
|
-
}
|
|
100
|
-
//#endregion
|
|
101
|
-
//#region Protected Methods
|
|
102
|
-
/**
|
|
103
|
-
* Get path from event with query strings
|
|
104
|
-
*
|
|
105
|
-
* @param event - The event sent by digital ocean
|
|
106
|
-
*/
|
|
107
|
-
getPathFromEvent(event) {
|
|
108
|
-
var _a;
|
|
109
|
-
const stripBasePath = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.stripBasePath, '');
|
|
110
|
-
const replaceRegex = new RegExp(`^${stripBasePath}`);
|
|
111
|
-
const path = event.__ow_path.replace(replaceRegex, '');
|
|
112
|
-
const queryParams = event.__ow_query;
|
|
113
|
-
return (0, core_1.getPathWithQueryStringParams)(path, queryParams || {});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
exports.HttpFunctionAdapter = HttpFunctionAdapter;
|
|
117
|
-
HttpFunctionAdapter.__type = [() => __ΩHttpFunctionAdapterOptions, 'options', 'constructor', 'getAdapterName', 'event', 'canHandle', () => __ΩDigitalOceanHttpEvent, () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, () => __ΩDigitalOceanHttpEvent, 'param0', () => __ΩDigitalOceanHttpResponse, 'getResponse', () => __ΩOnErrorProps, () => __ΩDigitalOceanHttpEvent, () => __ΩDigitalOceanHttpResponse, 'onErrorWhileForwarding', () => __ΩDigitalOceanHttpEvent, 'getPathFromEvent', () => __ΩDigitalOceanHttpEvent, () => __ΩDigitalOceanHttpResponse, 'Pn!2"8<9"0#P&0$P#2%!0&Pn\'2%n(0)Pn+o*"2,n-0.Pn0n1o/#2,$02Pn32%&04<5n5$n66$'];
|
|
118
|
-
//# sourceMappingURL=http-function.adapter.js.map
|
|
1
|
+
"use strict";var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,w=Object.prototype.hasOwnProperty,y=(s,e)=>{for(var t in e)d(s,t,{get:e[t],enumerable:!0})},f=(s,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of g(e))!w.call(s,r)&&r!==t&&d(s,r,{get:()=>e[r],enumerable:!(o=u(e,r))||o.enumerable});return s},l=s=>f(d({},"__esModule",{value:!0}),s),i={};y(i,{HttpFunctionAdapter:()=>c});module.exports=l(i);var _=require("../../core");class c{constructor(e){this.options=e}getAdapterName(){return c.name}canHandle(e){const t=e;return!!t&&t.__ow_path!==void 0&&t.__ow_method!==void 0&&t.__ow_headers!==void 0}getRequest(e){const t=e.__ow_headers,o=e.__ow_method.toUpperCase(),r=this.getPathFromEvent(e);let a;if(e.__ow_body){const[p,h]=(0,_.getEventBodyAsBuffer)(e.__ow_body,!!e.__ow_isBase64Encoded);a=p,t["content-length"]=String(h)}const n=t["x-forwarded-for"];return{method:o,headers:t,body:a,remoteAddress:n,path:r}}getResponse({headers:e,body:t,statusCode:o}){const r=(0,_.getFlattenedHeadersMap)(e);return{statusCode:o,body:t,headers:r}}onErrorWhileForwarding({error:e,delegatedResolver:t,respondWithErrors:o,event:r,log:a}){const n=o?e.stack:"",p=this.getResponse({event:r,statusCode:500,body:n||"",headers:{},isBase64Encoded:!1,log:a});t.succeed(p)}getPathFromEvent(e){var n;const t=(0,_.getDefaultIfUndefined)((n=this.options)==null?void 0:n.stripBasePath,""),o=new RegExp(`^${t}`),r=e.__ow_path.replace(o,""),a=e.__ow_query;return(0,_.getPathWithQueryStringParams)(r,a||{})}}
|
|
2
|
+
//# sourceMappingURL=http-function.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-function.adapter.js","
|
|
1
|
+
{"version":3,"file":"http-function.adapter.js","sources":["../../../src/adapters/digital-ocean/http-function.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { DigitalOceanHttpEvent } from '../../@types/digital-ocean';\nimport { DigitalOceanHttpResponse } from '../../@types/digital-ocean/digital-ocean-http-response';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HttpFunctionAdapter}\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport interface HttpFunctionAdapterOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Digital Ocean Functions when called from HTTP Endpoint.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new HttpFunctionAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport class HttpFunctionAdapter\n implements\n AdapterContract<DigitalOceanHttpEvent, void, DigitalOceanHttpResponse>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HttpFunctionAdapter}\n */\n constructor(protected readonly options?: HttpFunctionAdapterOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HttpFunctionAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is DigitalOceanHttpEvent {\n const digitalOceanHttpEvent = event as DigitalOceanHttpEvent;\n\n return (\n !!digitalOceanHttpEvent &&\n digitalOceanHttpEvent.__ow_path !== undefined &&\n digitalOceanHttpEvent.__ow_method !== undefined &&\n digitalOceanHttpEvent.__ow_headers !== undefined\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: DigitalOceanHttpEvent): AdapterRequest {\n const headers = event.__ow_headers;\n const method = event.__ow_method.toUpperCase();\n const path = this.getPathFromEvent(event);\n\n let body: Buffer | undefined;\n\n if (event.__ow_body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.__ow_body,\n !!event.__ow_isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-forwarded-for'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n statusCode,\n }: GetResponseAdapterProps<DigitalOceanHttpEvent>): DigitalOceanHttpResponse {\n const headers = getFlattenedHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<DigitalOceanHttpEvent, DigitalOceanHttpResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by digital ocean\n */\n protected getPathFromEvent(event: DigitalOceanHttpEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n\n const path = event.__ow_path.replace(replaceRegex, '');\n const queryParams = event.__ow_query;\n\n return getPathWithQueryStringParams(path, queryParams || {});\n }\n\n //#endregion\n}\n"],"names":["http_function_adapter_exports","__export","HttpFunctionAdapter","__toCommonJS","import_core","options","event","digitalOceanHttpEvent","headers","method","path","body","bufferBody","contentLength","remoteAddress","responseHeaders","statusCode","error","delegatedResolver","respondWithErrors","log","errorResponse","stripBasePath","_a","replaceRegex","queryParams"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,oBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAUA,IAKOI,EAAA,QAAA,YAAA,EA+BA,MAAMF,CAGb,CAQE,YAA+BG,EAAsC,CAAtC,KAAA,QAAAA,CAAuC,CAS/D,gBAAyB,CAC9B,OAAOH,EAAoB,IAC7B,CAKO,UAAUI,EAAgD,CAC/D,MAAMC,EAAwBD,EAG5B,MAAA,CAAC,CAACC,GACFA,EAAsB,YAAc,QACpCA,EAAsB,cAAgB,QACtCA,EAAsB,eAAiB,MAE3C,CAKO,WAAWD,EAA8C,CAC9D,MAAME,EAAUF,EAAM,aAChBG,EAASH,EAAM,YAAY,YAAY,EACvCI,EAAO,KAAK,iBAAiBJ,CAAK,EAEpC,IAAAK,EAEJ,GAAIL,EAAM,UAAW,CACb,KAAA,CAACM,EAAYC,CAAa,KAAIT,EAAA,sBAClCE,EAAM,UACN,CAAC,CAACA,EAAM,oBAAA,EAGHK,EAAAC,EACCJ,EAAA,gBAAgB,EAAI,OAAOK,CAAa,EAG5C,MAAAC,EAAgBN,EAAQ,iBAAiB,EAExC,MAAA,CACL,OAAAC,EACA,QAAAD,EACA,KAAAG,EACA,cAAAG,EACA,KAAAJ,CAAA,CAEJ,CAKO,YAAY,CACjB,QAASK,EACT,KAAAJ,EACA,WAAAK,CAAA,EAC2E,CACrE,MAAAR,KAAUJ,0BAAuBW,CAAe,EAE/C,MAAA,CACL,WAAAC,EACA,KAAAL,EACA,QAAAH,CAAA,CAEJ,CAKO,uBAAuB,CAC5B,MAAAS,EACA,kBAAAC,EACA,kBAAAC,EACA,MAAAb,EACA,IAAAc,CAAA,EACsE,CAChE,MAAAT,EAAOQ,EAAoBF,EAAM,MAAQ,GACzCI,EAAgB,KAAK,YAAY,CACrC,MAAAf,EACA,WAAY,IACZ,KAAMK,GAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,IAAAS,CAAA,CACD,EAEDF,EAAkB,QAAQG,CAAa,CACzC,CAWU,iBAAiBf,EAAsC,OAC/D,MAAMgB,KAAgBlB,EAAA,wBACpBmB,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,EAAA,EAEIC,EAAe,IAAI,OAAO,IAAIF,GAAe,EAE7CZ,EAAOJ,EAAM,UAAU,QAAQkB,EAAc,EAAE,EAC/CC,EAAcnB,EAAM,WAE1B,SAAOF,EAA6B,8BAAAM,EAAMe,GAAe,CAAE,CAAA,CAC7D,CAGF"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./http-function.adapter"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,o=(r,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!c.call(r,t)&&t!==a&&_(r,t,{get:()=>e[t],enumerable:!(p=s(e,t))||p.enumerable});return r},l=(r,e,a)=>(o(r,e,"default"),a&&o(a,e,"default")),O=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=O(n);l(n,require("./http-function.adapter"),module.exports);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/adapters/digital-ocean/index.ts"],"sourcesContent":["export * from './http-function.adapter';\n"],"names":["digital_ocean_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,yBAAA,EAAA,OAAA,OAAA"}
|
|
@@ -1,54 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.DummyAdapter = void 0;
|
|
4
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
5
|
-
const { __ΩIEmptyResponse } = require('../../core');
|
|
6
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
7
|
-
const core_1 = require("../../core");
|
|
8
|
-
//#endregion
|
|
9
|
-
/**
|
|
10
|
-
* The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.
|
|
11
|
-
*
|
|
12
|
-
* @breadcrumb Adapters / DummyAdapter
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
class DummyAdapter {
|
|
16
|
-
/**
|
|
17
|
-
* {@inheritDoc}
|
|
18
|
-
*/
|
|
19
|
-
canHandle() {
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* {@inheritDoc}
|
|
24
|
-
*/
|
|
25
|
-
getAdapterName() {
|
|
26
|
-
return DummyAdapter.name;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* {@inheritDoc}
|
|
30
|
-
*/
|
|
31
|
-
getRequest() {
|
|
32
|
-
return {
|
|
33
|
-
method: 'POST',
|
|
34
|
-
body: void 0,
|
|
35
|
-
path: '/dummy',
|
|
36
|
-
headers: {},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* {@inheritDoc}
|
|
41
|
-
*/
|
|
42
|
-
getResponse() {
|
|
43
|
-
return core_1.EmptyResponse;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* {@inheritDoc}
|
|
47
|
-
*/
|
|
48
|
-
onErrorWhileForwarding(props) {
|
|
49
|
-
props.delegatedResolver.succeed();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.DummyAdapter = DummyAdapter;
|
|
53
|
-
DummyAdapter.__type = ['canHandle', 'getAdapterName', () => __ΩAdapterRequest, 'getRequest', () => __ΩIEmptyResponse, 'getResponse', () => __ΩOnErrorProps, 'props', 'onErrorWhileForwarding', 'P)0!P&0"Pn#0$Pn%0&P"$o\'#2($0)5""$6$'];
|
|
54
|
-
//# sourceMappingURL=dummy.adapter.js.map
|
|
1
|
+
"use strict";var a=Object.defineProperty,u=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,d=Object.prototype.hasOwnProperty,c=(r,e)=>{for(var o in e)a(r,o,{get:e[o],enumerable:!0})},y=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of _(e))!d.call(r,t)&&t!==o&&a(r,t,{get:()=>e[t],enumerable:!(n=u(e,t))||n.enumerable});return r},v=r=>y(a({},"__esModule",{value:!0}),r),s={};c(s,{DummyAdapter:()=>p});module.exports=v(s);var i=require("../../core");class p{canHandle(){return!0}getAdapterName(){return p.name}getRequest(){return{method:"POST",body:void 0,path:"/dummy",headers:{}}}getResponse(){return i.EmptyResponse}onErrorWhileForwarding(e){e.delegatedResolver.succeed()}}
|
|
2
|
+
//# sourceMappingURL=dummy.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dummy.adapter.js","
|
|
1
|
+
{"version":3,"file":"dummy.adapter.js","sources":["../../../src/adapters/dummy/dummy.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';\nimport { EmptyResponse, IEmptyResponse } from '../../core';\n\n//#endregion\n\n/**\n * The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.\n *\n * @breadcrumb Adapters / DummyAdapter\n * @public\n */\nexport class DummyAdapter implements AdapterContract<any, any, void> {\n /**\n * {@inheritDoc}\n */\n public canHandle(): boolean {\n return true;\n }\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return DummyAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(): AdapterRequest {\n return {\n method: 'POST',\n body: void 0,\n path: '/dummy',\n headers: {},\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse(): IEmptyResponse {\n return EmptyResponse;\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding(props: OnErrorProps<any, void>): void {\n props.delegatedResolver.succeed();\n }\n}\n"],"names":["dummy_adapter_exports","__export","DummyAdapter","__toCommonJS","import_core","props"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,aAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAGA,IAA8CI,EAAA,QAAA,YAAA,EAUvC,MAAMF,CAAwD,CAI5D,WAAqB,CACnB,MAAA,EACT,CAKO,gBAAyB,CAC9B,OAAOA,EAAa,IACtB,CAKO,YAA6B,CAC3B,MAAA,CACL,OAAQ,OACR,KAAM,OACN,KAAM,SACN,QAAS,CAAC,CAAA,CAEd,CAKO,aAA8B,CAC5B,OAAAE,EAAA,aACT,CAKO,uBAAuBC,EAAsC,CAClEA,EAAM,kBAAkB,SAC1B,CACF"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./dummy.adapter"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!y.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(a=u(e,t))||a.enumerable});return r},O=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),c=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=c(n);O(n,require("./dummy.adapter"),module.exports);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/adapters/dummy/index.ts"],"sourcesContent":["export * from './dummy.adapter';\n"],"names":["dummy_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
|
|
@@ -1,126 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.HuaweiApiGatewayAdapter = exports.__ΩHuaweiApiGatewayOptions = void 0;
|
|
4
|
-
const { __ΩHuaweiApiGatewayEvent } = require('../../@types/huawei');
|
|
5
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
6
|
-
const { __ΩGetResponseAdapterProps } = require('../../contracts');
|
|
7
|
-
const { __ΩHuaweiApiGatewayResponse } = require('../../@types/huawei');
|
|
8
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
9
|
-
const { __ΩHuaweiContext } = require('../../@types/huawei');
|
|
10
|
-
const core_1 = require("../../core");
|
|
11
|
-
const __ΩHuaweiApiGatewayOptions = ['stripBasePath', 'P&4!8M'];
|
|
12
|
-
exports.__ΩHuaweiApiGatewayOptions = __ΩHuaweiApiGatewayOptions;
|
|
13
|
-
/**
|
|
14
|
-
* The adapter to handle requests from Huawei Api Gateway
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const stripBasePath = '/any/custom/base/path'; // default ''
|
|
19
|
-
* const adapter = new ApiGatewayAdapter({ stripBasePath });
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
|
|
23
|
-
* @public
|
|
24
|
-
*
|
|
25
|
-
* {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}
|
|
26
|
-
*/
|
|
27
|
-
class HuaweiApiGatewayAdapter {
|
|
28
|
-
//#region Constructor
|
|
29
|
-
/**
|
|
30
|
-
* Default constructor
|
|
31
|
-
*
|
|
32
|
-
* @param options - The options to customize the {@link HuaweiApiGatewayAdapter}
|
|
33
|
-
*/
|
|
34
|
-
constructor(options) {
|
|
35
|
-
this.options = options;
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region Public Methods
|
|
39
|
-
/**
|
|
40
|
-
* {@inheritDoc}
|
|
41
|
-
*/
|
|
42
|
-
getAdapterName() {
|
|
43
|
-
return HuaweiApiGatewayAdapter.name;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* {@inheritDoc}
|
|
47
|
-
*/
|
|
48
|
-
canHandle(event) {
|
|
49
|
-
const apiGatewayEvent = event;
|
|
50
|
-
return !!(apiGatewayEvent &&
|
|
51
|
-
apiGatewayEvent.httpMethod &&
|
|
52
|
-
apiGatewayEvent.requestContext &&
|
|
53
|
-
apiGatewayEvent.requestContext.apiId &&
|
|
54
|
-
apiGatewayEvent.requestContext.stage &&
|
|
55
|
-
apiGatewayEvent.requestContext.requestId &&
|
|
56
|
-
// to avoid conflict with api gateway v1 of aws
|
|
57
|
-
!('multiValueQueryStringParameters' in apiGatewayEvent));
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* {@inheritDoc}
|
|
61
|
-
*/
|
|
62
|
-
getRequest(event) {
|
|
63
|
-
const method = event.httpMethod;
|
|
64
|
-
const path = this.getPathFromEvent(event);
|
|
65
|
-
const headers = (0, core_1.getFlattenedHeadersMap)(event.headers, ',', true);
|
|
66
|
-
let body;
|
|
67
|
-
if (event.body) {
|
|
68
|
-
const [bufferBody, contentLength] = (0, core_1.getEventBodyAsBuffer)(event.body, event.isBase64Encoded);
|
|
69
|
-
body = bufferBody;
|
|
70
|
-
headers['content-length'] = String(contentLength);
|
|
71
|
-
}
|
|
72
|
-
const remoteAddress = headers['x-real-ip'];
|
|
73
|
-
return {
|
|
74
|
-
method,
|
|
75
|
-
headers,
|
|
76
|
-
body,
|
|
77
|
-
remoteAddress,
|
|
78
|
-
path,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* {@inheritDoc}
|
|
83
|
-
*/
|
|
84
|
-
getResponse({ headers: responseHeaders, body, isBase64Encoded, statusCode, }) {
|
|
85
|
-
const headers = (0, core_1.getMultiValueHeadersMap)(responseHeaders);
|
|
86
|
-
return {
|
|
87
|
-
statusCode,
|
|
88
|
-
body,
|
|
89
|
-
headers,
|
|
90
|
-
isBase64Encoded,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* {@inheritDoc}
|
|
95
|
-
*/
|
|
96
|
-
onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }) {
|
|
97
|
-
const body = respondWithErrors ? error.stack : '';
|
|
98
|
-
const errorResponse = this.getResponse({
|
|
99
|
-
event,
|
|
100
|
-
statusCode: 500,
|
|
101
|
-
body: body || '',
|
|
102
|
-
headers: {},
|
|
103
|
-
isBase64Encoded: false,
|
|
104
|
-
log,
|
|
105
|
-
});
|
|
106
|
-
delegatedResolver.succeed(errorResponse);
|
|
107
|
-
}
|
|
108
|
-
//#endregion
|
|
109
|
-
//#region Protected Methods
|
|
110
|
-
/**
|
|
111
|
-
* Get path from event with query strings
|
|
112
|
-
*
|
|
113
|
-
* @param event - The event sent by serverless
|
|
114
|
-
*/
|
|
115
|
-
getPathFromEvent(event) {
|
|
116
|
-
var _a;
|
|
117
|
-
const stripBasePath = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.stripBasePath, '');
|
|
118
|
-
const replaceRegex = new RegExp(`^${stripBasePath}`);
|
|
119
|
-
const path = event.path.replace(replaceRegex, '');
|
|
120
|
-
const queryParams = event.queryStringParameters;
|
|
121
|
-
return (0, core_1.getPathWithQueryStringParams)(path, queryParams);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
exports.HuaweiApiGatewayAdapter = HuaweiApiGatewayAdapter;
|
|
125
|
-
HuaweiApiGatewayAdapter.__type = [() => __ΩHuaweiApiGatewayOptions, 'options', 'constructor', 'getAdapterName', 'event', 'canHandle', () => __ΩHuaweiApiGatewayEvent, () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, () => __ΩHuaweiApiGatewayEvent, 'param0', () => __ΩHuaweiApiGatewayResponse, 'getResponse', () => __ΩOnErrorProps, () => __ΩHuaweiApiGatewayEvent, () => __ΩHuaweiApiGatewayResponse, 'onErrorWhileForwarding', () => __ΩHuaweiApiGatewayEvent, 'getPathFromEvent', () => __ΩHuaweiApiGatewayEvent, () => __ΩHuaweiContext, () => __ΩHuaweiApiGatewayResponse, 'Pn!2"8<9"0#P&0$P#2%!0&Pn\'2%n(0)Pn+o*"2,n-0.Pn0n1o/#2,$02Pn32%&04<5n5n6n76$'];
|
|
126
|
-
//# sourceMappingURL=huawei-api-gateway.adapter.js.map
|
|
1
|
+
"use strict";var i=Object.defineProperty,g=Object.getOwnPropertyDescriptor,y=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,_=(o,e)=>{for(var t in e)i(o,t,{get:e[t],enumerable:!0})},P=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!l.call(o,r)&&r!==t&&i(o,r,{get:()=>e[r],enumerable:!(a=g(e,r))||a.enumerable});return o},b=o=>P(i({},"__esModule",{value:!0}),o),d={};_(d,{HuaweiApiGatewayAdapter:()=>c});module.exports=b(d);var p=require("../../core");class c{constructor(e){this.options=e}getAdapterName(){return c.name}canHandle(e){const t=e;return!!(t&&t.httpMethod&&t.requestContext&&t.requestContext.apiId&&t.requestContext.stage&&t.requestContext.requestId&&!("multiValueQueryStringParameters"in t))}getRequest(e){const t=e.httpMethod,a=this.getPathFromEvent(e),r=(0,p.getFlattenedHeadersMap)(e.headers,",",!0);let s;if(e.body){const[u,h]=(0,p.getEventBodyAsBuffer)(e.body,e.isBase64Encoded);s=u,r["content-length"]=String(h)}const n=r["x-real-ip"];return{method:t,headers:r,body:s,remoteAddress:n,path:a}}getResponse({headers:e,body:t,isBase64Encoded:a,statusCode:r}){const s=(0,p.getMultiValueHeadersMap)(e);return{statusCode:r,body:t,headers:s,isBase64Encoded:a}}onErrorWhileForwarding({error:e,delegatedResolver:t,respondWithErrors:a,event:r,log:s}){const n=a?e.stack:"",u=this.getResponse({event:r,statusCode:500,body:n||"",headers:{},isBase64Encoded:!1,log:s});t.succeed(u)}getPathFromEvent(e){var n;const t=(0,p.getDefaultIfUndefined)((n=this.options)==null?void 0:n.stripBasePath,""),a=new RegExp(`^${t}`),r=e.path.replace(a,""),s=e.queryStringParameters;return(0,p.getPathWithQueryStringParams)(r,s)}}
|
|
2
|
+
//# sourceMappingURL=huawei-api-gateway.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"huawei-api-gateway.adapter.js","
|
|
1
|
+
{"version":3,"file":"huawei-api-gateway.adapter.js","sources":["../../../src/adapters/huawei/huawei-api-gateway.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport {\n HuaweiApiGatewayEvent,\n HuaweiApiGatewayResponse,\n HuaweiContext,\n} from '../../@types/huawei';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HuaweiApiGatewayAdapter}\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n */\nexport interface HuaweiApiGatewayOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Huawei Api Gateway\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new ApiGatewayAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n *\n * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}\n */\nexport class HuaweiApiGatewayAdapter\n implements\n AdapterContract<\n HuaweiApiGatewayEvent,\n HuaweiContext,\n HuaweiApiGatewayResponse\n >\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}\n */\n constructor(protected readonly options?: HuaweiApiGatewayOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HuaweiApiGatewayAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is HuaweiApiGatewayEvent {\n const apiGatewayEvent = event as Partial<HuaweiApiGatewayEvent>;\n\n return !!(\n apiGatewayEvent &&\n apiGatewayEvent.httpMethod &&\n apiGatewayEvent.requestContext &&\n apiGatewayEvent.requestContext.apiId &&\n apiGatewayEvent.requestContext.stage &&\n apiGatewayEvent.requestContext.requestId &&\n // to avoid conflict with api gateway v1 of aws\n !('multiValueQueryStringParameters' in apiGatewayEvent)\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HuaweiApiGatewayEvent): AdapterRequest {\n const method = event.httpMethod;\n const path = this.getPathFromEvent(event);\n\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.body,\n event.isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-real-ip'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n isBase64Encoded,\n statusCode,\n }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse {\n const headers = getMultiValueHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HuaweiApiGatewayEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = event.path.replace(replaceRegex, '');\n\n const queryParams = event.queryStringParameters;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n //#endregion\n}\n"],"names":["huawei_api_gateway_adapter_exports","__export","HuaweiApiGatewayAdapter","__toCommonJS","import_core","options","event","apiGatewayEvent","method","path","headers","body","bufferBody","contentLength","remoteAddress","responseHeaders","isBase64Encoded","statusCode","error","delegatedResolver","respondWithErrors","log","errorResponse","stripBasePath","_a","replaceRegex","queryParams"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,wBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAaA,IAMOI,EAAA,QAAA,YAAA,EAiCA,MAAMF,CAOb,CAQE,YAA+BG,EAAmC,CAAnC,KAAA,QAAAA,CAAoC,CAS5D,gBAAyB,CAC9B,OAAOH,EAAwB,IACjC,CAKO,UAAUI,EAAgD,CAC/D,MAAMC,EAAkBD,EAExB,MAAO,CAAC,EACNC,GACAA,EAAgB,YAChBA,EAAgB,gBAChBA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,WAE/B,EAAE,oCAAqCA,GAE3C,CAKO,WAAWD,EAA8C,CAC9D,MAAME,EAASF,EAAM,WACfG,EAAO,KAAK,iBAAiBH,CAAK,EAElCI,KAAUN,EAAA,wBAAuBE,EAAM,QAAS,IAAK,EAAI,EAE3D,IAAAK,EAEJ,GAAIL,EAAM,KAAM,CACR,KAAA,CAACM,EAAYC,CAAa,KAAIT,EAAA,sBAClCE,EAAM,KACNA,EAAM,eAAA,EAGDK,EAAAC,EACCF,EAAA,gBAAgB,EAAI,OAAOG,CAAa,EAG5C,MAAAC,EAAgBJ,EAAQ,WAAW,EAElC,MAAA,CACL,OAAAF,EACA,QAAAE,EACA,KAAAC,EACA,cAAAG,EACA,KAAAL,CAAA,CAEJ,CAKO,YAAY,CACjB,QAASM,EACT,KAAAJ,EACA,gBAAAK,EACA,WAAAC,CAAA,EAC2E,CACrE,MAAAP,KAAUN,2BAAwBW,CAAe,EAEhD,MAAA,CACL,WAAAE,EACA,KAAAN,EACA,QAAAD,EACA,gBAAAM,CAAA,CAEJ,CAKO,uBAAuB,CAC5B,MAAAE,EACA,kBAAAC,EACA,kBAAAC,EACA,MAAAd,EACA,IAAAe,CAAA,EACsE,CAChE,MAAAV,EAAOS,EAAoBF,EAAM,MAAQ,GACzCI,EAAgB,KAAK,YAAY,CACrC,MAAAhB,EACA,WAAY,IACZ,KAAMK,GAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,IAAAU,CAAA,CACD,EAEDF,EAAkB,QAAQG,CAAa,CACzC,CAWU,iBAAiBhB,EAAsC,OAC/D,MAAMiB,KAAgBnB,EAAA,wBACpBoB,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,EAAA,EAEIC,EAAe,IAAI,OAAO,IAAIF,GAAe,EAC7Cd,EAAOH,EAAM,KAAK,QAAQmB,EAAc,EAAE,EAE1CC,EAAcpB,EAAM,sBAEnB,SAAAF,EAAA,8BAA6BK,EAAMiB,CAAW,CACvD,CAGF"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./huawei-api-gateway.adapter"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!O.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=u(e,t))||o.enumerable});return r},c=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),l=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./huawei-api-gateway.adapter"),module.exports);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/adapters/huawei/index.ts"],"sourcesContent":["export * from './huawei-api-gateway.adapter';\n"],"names":["huawei_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,8BAAA,EAAA,OAAA,OAAA"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__ΩAdapterContract = exports.__ΩOnErrorProps = exports.__ΩGetResponseAdapterProps = exports.__ΩAdapterRequest = void 0;
|
|
4
|
-
const { __ΩSingleValueHeaders } = require('../@types');
|
|
5
|
-
const { __ΩBothValueHeaders } = require('../@types');
|
|
6
|
-
const { __ΩILogger } = require('../core');
|
|
7
|
-
const { __ΩDelegatedResolver } = require('./resolver.contract');
|
|
8
|
-
const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
|
|
9
|
-
const network_1 = require("../network");
|
|
10
|
-
const __ΩAdapterRequest = ['method', 'path', () => __ΩSingleValueHeaders, 'headers', 'body', 'remoteAddress', 'host', 'hostname', 'P&4!&4"n#4$!4%8&4&8&4\'8&4(8M'];
|
|
11
|
-
exports.__ΩAdapterRequest = __ΩAdapterRequest;
|
|
12
|
-
const __ΩGetResponseAdapterProps = ['TEvent', 'event', () => network_1.ServerlessResponse, 'response', 'statusCode', 'body', () => __ΩBothValueHeaders, 'headers', 'isBase64Encoded', () => __ΩILogger, 'log', 'b!Pe"!4"P7#4$8\'4%&4&n\'4()4)n*4+M'];
|
|
13
|
-
exports.__ΩGetResponseAdapterProps = __ΩGetResponseAdapterProps;
|
|
14
|
-
const __ΩOnErrorProps = ['TEvent', 'TResponse', 'event', () => __ΩError, 'error', () => __ΩDelegatedResolver, 'delegatedResolver', 'respondWithErrors', () => __ΩILogger, 'log', 'b!b"Pe"!4#n$4%e""o&"4\')4(n)4*M'];
|
|
15
|
-
exports.__ΩOnErrorProps = __ΩOnErrorProps;
|
|
16
|
-
const __ΩAdapterContract = ['TEvent', 'TContext', 'TResponse', 'getAdapterName', 'event', 'context', () => __ΩILogger, 'log', 'canHandle', () => __ΩILogger, () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, 'props', 'getResponse', () => __ΩOnErrorProps, 'onErrorWhileForwarding', 'b!b"b#PP&1$P#2%e#"2&n\'2()1)Pe#!2%e#"2&n*2(n+1,Pe#!o-"2.e##1/Pe#!e##o0#2.$11M'];
|
|
17
|
-
exports.__ΩAdapterContract = __ΩAdapterContract;
|
|
18
|
-
//# sourceMappingURL=adapter.contract.js.map
|
|
1
|
+
"use strict";var a=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,s=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!c.call(r,t)&&t!==p&&a(r,t,{get:()=>e[t],enumerable:!(o=_(e,t))||o.enumerable});return r},O=r=>s(a({},"__esModule",{value:!0}),r),y={};module.exports=O(y);
|
|
2
|
+
//# sourceMappingURL=adapter.contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.contract.js","
|
|
1
|
+
{"version":3,"file":"adapter.contract.js","sources":["../../src/contracts/adapter.contract.ts"],"sourcesContent":["//#region Imports\n\nimport { BothValueHeaders, SingleValueHeaders } from '../@types';\nimport { ILogger } from '../core';\nimport { ServerlessResponse } from '../network';\nimport { DelegatedResolver } from './resolver.contract';\n\n//#endregion\n\n/**\n * The request interface used to bridge any event source to the framework.\n *\n * @breadcrumb Contracts / AdapterContract\n * @public\n */\nexport interface AdapterRequest {\n /**\n * The HTTP Method to use to create the request to the framework\n */\n method: string;\n\n /**\n * The path to use to create the request to the framework\n */\n path: string;\n\n /**\n * The headers to use to create the request to the framework\n */\n headers: SingleValueHeaders;\n\n /**\n * The body as buffer to use to create the request to the framework\n */\n body?: Buffer;\n\n /**\n * The remote address (client ip) to use to create the request to the framework\n */\n remoteAddress?: string;\n\n /**\n * The address of the event source (used in Lambda\\@edge)\n *\n * @deprecated It is no longer used in the library and will be removed in the next major release.\n */\n host?: string;\n\n /**\n * The address of the event source (used in Lambda\\@edge)\n *\n * @deprecated It is no longer used in the library and will be removed in the next major release.\n */\n hostname?: string;\n}\n\n/**\n * The props of the method that get the response from the framework and transform it into a format that the event source can handle\n *\n * @breadcrumb Contracts / AdapterContract\n * @public\n */\nexport interface GetResponseAdapterProps<TEvent> {\n /**\n * The event sent by the serverless\n */\n event: TEvent;\n\n /**\n * The framework {@link ServerlessResponse | response}.\n *\n * @remarks It can be optional, as this method can be used when an error occurs during the handling of the request by the framework.\n */\n response?: ServerlessResponse;\n\n /**\n * The framework response status code\n */\n statusCode: number;\n\n /**\n * The framework response body\n */\n body: string;\n\n /**\n * The framework response headers\n */\n headers: BothValueHeaders;\n\n /**\n * Indicates whether the response is base64 encoded or not\n */\n isBase64Encoded: boolean;\n\n /**\n * The instance of the logger\n */\n log: ILogger;\n}\n\n/**\n * The props of the method that handle the response when an error occurs while forwarding the request to the framework\n *\n * @breadcrumb Contracts / AdapterContract\n * @public\n */\nexport interface OnErrorProps<TEvent, TResponse> {\n /**\n * The event sent by the serverless\n */\n event: TEvent;\n\n /**\n * The error throwed during forwarding\n */\n error: Error;\n\n /**\n * The instance of the resolver\n */\n delegatedResolver: DelegatedResolver<TResponse>;\n\n /**\n * Indicates whether to forward the (error.stack) or not to the client\n */\n respondWithErrors: boolean;\n\n /**\n * The instance of the logger\n */\n log: ILogger;\n}\n\n/**\n * The interface that represents a contract between the adapter and the actual implementation of the adapter.\n *\n * @breadcrumb Contracts / AdapterContract\n * @public\n */\nexport interface AdapterContract<TEvent, TContext, TResponse> {\n /**\n * Get the adapter name\n */\n getAdapterName(): string;\n\n /**\n * Decide if this adapter can handle a request based in the event payload\n *\n * @param event - The event sent by serverless\n * @param context - The context sent by the serverless\n * @param log - The instance of logger\n */\n canHandle(event: unknown, context: TContext, log: ILogger): boolean;\n\n /**\n * Maps the serverless payload to an actual request that a framework can handle\n *\n * @param event - The event sent by serverless\n * @param context - The context sent by the serverless\n * @param log - The instance of logger\n */\n getRequest(event: TEvent, context: TContext, log: ILogger): AdapterRequest;\n\n /**\n * Maps the response of the framework to a payload that serverless can handle\n *\n * @param props - The props sent by serverless\n */\n getResponse(props: GetResponseAdapterProps<TEvent>): TResponse;\n\n /**\n * When an error occurs while forwarding the request to the framework\n *\n * @remarks You must call resolver.fail or resolver.succeed when implementing this method.\n */\n onErrorWhileForwarding(props: OnErrorProps<TEvent, TResponse>): void;\n}\n"],"names":["adapter_contract_exports","__toCommonJS"],"mappings":"2VAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
//#
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.__ΩFrameworkContract = void 0;
|
|
5
|
-
const __ΩFrameworkContract = ['TApp', 'app', 'request', 'response', 'sendRequest', 'b!PPe#!2"!2#!2$$1%M'];
|
|
6
|
-
exports.__ΩFrameworkContract = __ΩFrameworkContract;
|
|
7
|
-
//# sourceMappingURL=framework.contract.js.map
|
|
1
|
+
"use strict";var a=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,s=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!c.call(r,t)&&t!==p&&a(r,t,{get:()=>e[t],enumerable:!(o=_(e,t))||o.enumerable});return r},O=r=>s(a({},"__esModule",{value:!0}),r),y={};module.exports=O(y);
|
|
2
|
+
//# sourceMappingURL=framework.contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.contract.js","
|
|
1
|
+
{"version":3,"file":"framework.contract.js","sources":["../../src/contracts/framework.contract.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\n\n//#endregion\n\n/**\n * The interface that represents a contract between the framework and the framework implementation\n *\n * @breadcrumb Contracts\n * @public\n */\nexport interface FrameworkContract<TApp> {\n /**\n * Send the request and response objects to the framework\n *\n * @param app - The instance of your app (Express, Fastify, Koa, etc...)\n * @param request - The request object that will be forward to your app\n * @param response - The response object that will be forward to your app to output the response\n */\n sendRequest(\n app: TApp,\n request: IncomingMessage,\n response: ServerResponse,\n ): void;\n}\n"],"names":["framework_contract_exports","__toCommonJS"],"mappings":"2VAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__ΩHandlerContract = exports.__ΩServerlessHandler = void 0;
|
|
4
|
-
const { __ΩFrameworkContract } = require('./framework.contract');
|
|
5
|
-
const { __ΩAdapterContract } = require('./adapter.contract');
|
|
6
|
-
const { __ΩResolverContract } = require('./resolver.contract');
|
|
7
|
-
const { __ΩBinarySettings } = require('../@types');
|
|
8
|
-
const { __ΩILogger } = require('../core');
|
|
9
|
-
const __ΩServerlessHandler = ['TReturn', 'args', '', 'b!P"@2"e"!/#'];
|
|
10
|
-
exports.__ΩServerlessHandler = __ΩServerlessHandler;
|
|
11
|
-
const __ΩHandlerContract = ['TApp', 'TEvent', 'TContext', 'TCallback', 'TResponse', 'TReturn', 'app', () => __ΩFrameworkContract, 'framework', () => __ΩAdapterContract, 'adapters', () => __ΩResolverContract, 'resolverFactory', () => __ΩBinarySettings, 'binarySettings', 'respondWithErrors', () => __ΩILogger, 'log', () => __ΩServerlessHandler, 'getHandler', 'b!b"b#b$b%b&PPe#!2\'e#!o("2)e#"e##e#%o*$F2+e#"e##e#$e#%e#&o,&2-n.2/)20n122e#&o3"14M'];
|
|
12
|
-
exports.__ΩHandlerContract = __ΩHandlerContract;
|
|
13
|
-
//# sourceMappingURL=handler.contract.js.map
|
|
1
|
+
"use strict";var a=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,s=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!c.call(r,t)&&t!==p&&a(r,t,{get:()=>e[t],enumerable:!(o=_(e,t))||o.enumerable});return r},O=r=>s(a({},"__esModule",{value:!0}),r),y={};module.exports=O(y);
|
|
2
|
+
//# sourceMappingURL=handler.contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.contract.js","
|
|
1
|
+
{"version":3,"file":"handler.contract.js","sources":["../../src/contracts/handler.contract.ts"],"sourcesContent":["//#region Imports\n\nimport { BinarySettings } from '../@types';\nimport { ILogger } from '../core';\nimport { AdapterContract } from './adapter.contract';\nimport { FrameworkContract } from './framework.contract';\nimport { ResolverContract } from './resolver.contract';\n\n//#endregion\n\n/**\n * The function used to handle serverless requests\n *\n * @breadcrumb Contracts / HandlerContract\n * @public\n */\nexport type ServerlessHandler<TReturn> = (...args: any[]) => TReturn;\n\n/**\n * The interface that represents the contract between the handler and the real implementation\n *\n * @breadcrumb Contracts / HandlerContract\n * @public\n */\nexport interface HandlerContract<\n TApp,\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn,\n> {\n /**\n * Get the handler that will handle serverless requests\n */\n getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, TContext, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn>;\n}\n"],"names":["handler_contract_exports","__toCommonJS"],"mappings":"2VAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA"}
|
package/lib/contracts/index.js
CHANGED
|
@@ -1,21 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./adapter.contract"), exports);
|
|
18
|
-
__exportStar(require("./framework.contract"), exports);
|
|
19
|
-
__exportStar(require("./handler.contract"), exports);
|
|
20
|
-
__exportStar(require("./resolver.contract"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var u=Object.defineProperty,n=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,_=(r,e,p,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!i.call(r,t)&&t!==p&&u(r,t,{get:()=>e[t],enumerable:!(s=n(e,t))||s.enumerable});return r},a=(r,e,p)=>(_(r,e,"default"),p&&_(p,e,"default")),O=r=>_(u({},"__esModule",{value:!0}),r),o={};module.exports=O(o);a(o,require("./adapter.contract"),module.exports);a(o,require("./framework.contract"),module.exports);a(o,require("./handler.contract"),module.exports);a(o,require("./resolver.contract"),module.exports);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/contracts/index.ts"],"sourcesContent":["export * from './adapter.contract';\nexport * from './framework.contract';\nexport * from './handler.contract';\nexport * from './resolver.contract';\n"],"names":["contracts_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,oBAAA,EAAA,OAAA,OAAA,EACAE,EAAAF,EAAc,QADd,sBAAA,EAAA,OAAA,OAAA,EAEAE,EAAAF,EAAc,QAFd,oBAAA,EAAA,OAAA,OAAA,EAGAE,EAAAF,EAAc,QAHd,qBAAA,EAAA,OAAA,OAAA"}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__ΩResolverContract = exports.__ΩResolverProps = exports.__ΩDelegatedResolver = exports.__ΩResolver = void 0;
|
|
4
|
-
const { __ΩILogger } = require('../core');
|
|
5
|
-
const { __ΩAdapterContract } = require('./adapter.contract');
|
|
6
|
-
const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
|
|
7
|
-
const __ΩResolver = ['TResponse', 'TReturn', '', 'task', 'run', 'b!b"PPPe$!`/#2$e#"1%M'];
|
|
8
|
-
exports.__ΩResolver = __ΩResolver;
|
|
9
|
-
const __ΩDelegatedResolver = ['TResponse', 'response', '', 'succeed', () => __ΩError, 'error', 'fail', 'b!PPe#!2"$/#4$Pn%2&$/#4\'M'];
|
|
10
|
-
exports.__ΩDelegatedResolver = __ΩDelegatedResolver;
|
|
11
|
-
const __ΩResolverProps = ['TEvent', 'TContext', 'TCallback', 'TResponse', 'event', 'respondWithErrors', () => __ΩILogger, 'log', () => __ΩAdapterContract, 'adapter', 'context', 'callback', 'b!b"b#b$Pe"!4%)4&n\'4(e"!e""e"$o)$4*e""4+8e"#4,8M'];
|
|
12
|
-
exports.__ΩResolverProps = __ΩResolverProps;
|
|
13
|
-
const __ΩResolverContract = ['TEvent', 'TContext', 'TCallback', 'TResponse', 'TReturn', () => __ΩResolverProps, 'props', () => __ΩResolver, 'createResolver', 'b!b"b#b$b%PPe#!e#"e##e#$o&%2\'e#$e#%o(#1)M'];
|
|
14
|
-
exports.__ΩResolverContract = __ΩResolverContract;
|
|
15
|
-
//# sourceMappingURL=resolver.contract.js.map
|
|
1
|
+
"use strict";var p=Object.defineProperty,_=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,s=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of n(e))!c.call(r,t)&&t!==a&&p(r,t,{get:()=>e[t],enumerable:!(o=_(e,t))||o.enumerable});return r},O=r=>s(p({},"__esModule",{value:!0}),r),v={};module.exports=O(v);
|
|
2
|
+
//# sourceMappingURL=resolver.contract.js.map
|