@h4ad/serverless-adapter 2.17.0 → 3.1.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.d.ts +3 -5
- package/lib/@types/binary-settings.d.ts.map +1 -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.d.ts +1 -1
- package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/@types/digital-ocean/index.d.ts.map +1 -0
- package/lib/@types/digital-ocean/index.js +2 -18
- package/lib/@types/digital-ocean/index.js.map +1 -1
- package/lib/@types/headers.d.ts +4 -6
- package/lib/@types/headers.d.ts.map +1 -0
- package/lib/@types/headers.js +2 -11
- package/lib/@types/headers.js.map +1 -1
- package/lib/@types/helpers.d.ts +2 -2
- package/lib/@types/helpers.d.ts.map +1 -0
- package/lib/@types/helpers.js +2 -6
- package/lib/@types/helpers.js.map +1 -1
- package/lib/@types/huawei/huawei-api-gateway-event.d.ts +3 -6
- package/lib/@types/huawei/huawei-api-gateway-event.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/@types/huawei/huawei-api-gateway-response.d.ts.map +1 -0
- 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.d.ts +16 -31
- package/lib/@types/huawei/huawei-context.d.ts.map +1 -0
- package/lib/@types/huawei/huawei-context.js +2 -36
- package/lib/@types/huawei/huawei-context.js.map +1 -1
- package/lib/@types/huawei/index.d.ts +1 -0
- package/lib/@types/huawei/index.d.ts.map +1 -0
- package/lib/@types/huawei/index.js +2 -20
- package/lib/@types/huawei/index.js.map +1 -1
- package/lib/@types/index.d.ts +1 -0
- package/lib/@types/index.d.ts.map +1 -0
- package/lib/@types/index.js +2 -20
- package/lib/@types/index.js.map +1 -1
- package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +2 -2
- package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/apollo-server/index.d.ts.map +1 -0
- 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.d.ts +6 -1
- package/lib/adapters/aws/alb.adapter.d.ts.map +1 -0
- 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.d.ts +6 -1
- package/lib/adapters/aws/api-gateway-v1.adapter.d.ts.map +1 -0
- 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.d.ts +6 -1
- package/lib/adapters/aws/api-gateway-v2.adapter.d.ts.map +1 -0
- 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.d.ts +3 -5
- package/lib/adapters/aws/base/aws-simple-adapter.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/aws/base/index.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/adapters/aws/dynamodb.adapter.d.ts.map +1 -0
- 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.d.ts +2 -3
- package/lib/adapters/aws/event-bridge.adapter.d.ts.map +1 -0
- 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.d.ts +2 -0
- package/lib/adapters/aws/index.d.ts.map +1 -0
- package/lib/adapters/aws/index.js +2 -27
- package/lib/adapters/aws/index.js.map +1 -1
- package/lib/adapters/aws/lambda-edge.adapter.d.ts +5 -9
- package/lib/adapters/aws/lambda-edge.adapter.d.ts.map +1 -0
- 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/request-lambda-edge.adapter.d.ts +131 -0
- package/lib/adapters/aws/request-lambda-edge.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/request-lambda-edge.adapter.js +2 -0
- package/lib/adapters/aws/request-lambda-edge.adapter.js.map +1 -0
- package/lib/adapters/aws/s3.adapter.d.ts +2 -2
- package/lib/adapters/aws/s3.adapter.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/adapters/aws/sns.adapter.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/adapters/aws/sqs.adapter.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/adapters/azure/http-trigger-v4.adapter.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/azure/index.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/adapters/digital-ocean/http-function.adapter.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/digital-ocean/index.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/dummy/dummy.adapter.d.ts.map +1 -0
- package/lib/adapters/dummy/dummy.adapter.js +2 -54
- package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
- package/lib/adapters/dummy/index.d.ts +1 -0
- package/lib/adapters/dummy/index.d.ts.map +1 -0
- 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.d.ts +1 -1
- package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/adapters/huawei/index.d.ts.map +1 -0
- package/lib/adapters/huawei/index.js +2 -18
- package/lib/adapters/huawei/index.js.map +1 -1
- package/lib/contracts/adapter.contract.d.ts +1 -4
- package/lib/contracts/adapter.contract.d.ts.map +1 -0
- package/lib/contracts/adapter.contract.js +2 -18
- package/lib/contracts/adapter.contract.js.map +1 -1
- package/lib/contracts/framework.contract.d.ts +1 -1
- package/lib/contracts/framework.contract.d.ts.map +1 -0
- package/lib/contracts/framework.contract.js +2 -7
- package/lib/contracts/framework.contract.js.map +1 -1
- package/lib/contracts/handler.contract.d.ts +2 -3
- package/lib/contracts/handler.contract.d.ts.map +1 -0
- package/lib/contracts/handler.contract.js +2 -13
- package/lib/contracts/handler.contract.js.map +1 -1
- package/lib/contracts/index.d.ts +1 -0
- package/lib/contracts/index.d.ts.map +1 -0
- package/lib/contracts/index.js +2 -21
- package/lib/contracts/index.js.map +1 -1
- package/lib/contracts/resolver.contract.d.ts +4 -7
- package/lib/contracts/resolver.contract.d.ts.map +1 -0
- package/lib/contracts/resolver.contract.js +2 -15
- package/lib/contracts/resolver.contract.js.map +1 -1
- package/lib/core/base-handler.d.ts +1 -0
- package/lib/core/base-handler.d.ts.map +1 -0
- package/lib/core/base-handler.js +2 -67
- package/lib/core/base-handler.js.map +1 -1
- package/lib/core/constants.d.ts +4 -4
- package/lib/core/constants.d.ts.map +1 -0
- package/lib/core/constants.js +2 -33
- package/lib/core/constants.js.map +1 -1
- package/lib/core/current-invoke.d.ts +2 -2
- package/lib/core/current-invoke.d.ts.map +1 -0
- package/lib/core/current-invoke.js +2 -46
- package/lib/core/current-invoke.js.map +1 -1
- package/lib/core/event-body.d.ts +1 -0
- package/lib/core/event-body.d.ts.map +1 -0
- package/lib/core/event-body.js +2 -31
- package/lib/core/event-body.js.map +1 -1
- package/lib/core/headers.d.ts +26 -0
- package/lib/core/headers.d.ts.map +1 -0
- package/lib/core/headers.js +3 -97
- package/lib/core/headers.js.map +1 -1
- package/lib/core/index.d.ts +1 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/index.js +2 -28
- package/lib/core/index.js.map +1 -1
- package/lib/core/is-binary.d.ts +8 -7
- package/lib/core/is-binary.d.ts.map +1 -0
- package/lib/core/is-binary.js +2 -118
- package/lib/core/is-binary.js.map +1 -1
- package/lib/core/logger.d.ts +5 -8
- package/lib/core/logger.d.ts.map +1 -0
- package/lib/core/logger.js +2 -115
- package/lib/core/logger.js.map +1 -1
- package/lib/core/no-op.d.ts +1 -0
- package/lib/core/no-op.d.ts.map +1 -0
- package/lib/core/no-op.js +2 -12
- package/lib/core/no-op.js.map +1 -1
- package/lib/core/optional.d.ts +1 -0
- package/lib/core/optional.d.ts.map +1 -0
- package/lib/core/optional.js +2 -31
- package/lib/core/optional.js.map +1 -1
- package/lib/core/path.d.ts +17 -0
- package/lib/core/path.d.ts.map +1 -0
- package/lib/core/path.js +2 -68
- package/lib/core/path.js.map +1 -1
- package/lib/core/stream.d.ts +1 -0
- package/lib/core/stream.d.ts.map +1 -0
- package/lib/core/stream.js +2 -63
- package/lib/core/stream.js.map +1 -1
- package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +2 -4
- package/lib/frameworks/apollo-server/apollo-server.framework.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/frameworks/apollo-server/index.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/body-parser/base-body-parser.framework.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/frameworks/body-parser/index.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/body-parser/json-body-parser.framework.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/body-parser/text-body-parser.framework.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/frameworks/cors/cors.framework.d.ts.map +1 -0
- package/lib/frameworks/cors/cors.framework.js +3 -145
- package/lib/frameworks/cors/cors.framework.js.map +1 -1
- package/lib/frameworks/cors/index.d.ts +1 -0
- package/lib/frameworks/cors/index.d.ts.map +1 -0
- package/lib/frameworks/cors/index.js +2 -18
- package/lib/frameworks/cors/index.js.map +1 -1
- package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +1 -0
- package/lib/frameworks/deepkit/http-deepkit.framework.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/frameworks/deepkit/index.d.ts.map +1 -0
- package/lib/frameworks/deepkit/index.js +2 -18
- package/lib/frameworks/deepkit/index.js.map +1 -1
- package/lib/frameworks/express/express.framework.d.ts +1 -0
- package/lib/frameworks/express/express.framework.d.ts.map +1 -0
- package/lib/frameworks/express/express.framework.js +2 -22
- package/lib/frameworks/express/express.framework.js.map +1 -1
- package/lib/frameworks/express/index.d.ts +1 -0
- package/lib/frameworks/express/index.d.ts.map +1 -0
- package/lib/frameworks/express/index.js +2 -18
- package/lib/frameworks/express/index.js.map +1 -1
- package/lib/frameworks/fastify/fastify.framework.d.ts +1 -0
- package/lib/frameworks/fastify/fastify.framework.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/frameworks/fastify/index.d.ts.map +1 -0
- package/lib/frameworks/fastify/index.js +2 -18
- package/lib/frameworks/fastify/index.js.map +1 -1
- package/lib/frameworks/hapi/hapi.framework.d.ts +2 -1
- package/lib/frameworks/hapi/hapi.framework.d.ts.map +1 -0
- package/lib/frameworks/hapi/hapi.framework.js +2 -23
- package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
- package/lib/frameworks/hapi/index.d.ts +1 -0
- package/lib/frameworks/hapi/index.d.ts.map +1 -0
- package/lib/frameworks/hapi/index.js +2 -18
- package/lib/frameworks/hapi/index.js.map +1 -1
- package/lib/frameworks/koa/index.d.ts +1 -0
- package/lib/frameworks/koa/index.d.ts.map +1 -0
- package/lib/frameworks/koa/index.js +2 -18
- package/lib/frameworks/koa/index.js.map +1 -1
- package/lib/frameworks/koa/koa.framework.d.ts +1 -0
- package/lib/frameworks/koa/koa.framework.d.ts.map +1 -0
- package/lib/frameworks/koa/koa.framework.js +2 -22
- package/lib/frameworks/koa/koa.framework.js.map +1 -1
- package/lib/frameworks/lazy/index.d.ts +1 -0
- package/lib/frameworks/lazy/index.d.ts.map +1 -0
- package/lib/frameworks/lazy/index.js +2 -18
- package/lib/frameworks/lazy/index.js.map +1 -1
- package/lib/frameworks/lazy/lazy.framework.d.ts +1 -0
- package/lib/frameworks/lazy/lazy.framework.d.ts.map +1 -0
- package/lib/frameworks/lazy/lazy.framework.js +2 -82
- package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
- package/lib/frameworks/trpc/index.d.ts +1 -0
- package/lib/frameworks/trpc/index.d.ts.map +1 -0
- package/lib/frameworks/trpc/index.js +2 -18
- package/lib/frameworks/trpc/index.js.map +1 -1
- package/lib/frameworks/trpc/trpc.framework.d.ts +5 -7
- package/lib/frameworks/trpc/trpc.framework.d.ts.map +1 -0
- 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.d.ts +12 -6
- package/lib/handlers/aws/aws-stream.handler.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/aws/index.d.ts.map +1 -0
- package/lib/handlers/aws/index.js +2 -18
- package/lib/handlers/aws/index.js.map +1 -1
- package/lib/handlers/azure/azure.handler.d.ts +1 -1
- package/lib/handlers/azure/azure.handler.d.ts.map +1 -0
- package/lib/handlers/azure/azure.handler.js +2 -74
- package/lib/handlers/azure/azure.handler.js.map +1 -1
- package/lib/handlers/azure/index.d.ts +1 -0
- package/lib/handlers/azure/index.d.ts.map +1 -0
- package/lib/handlers/azure/index.js +2 -18
- package/lib/handlers/azure/index.js.map +1 -1
- package/lib/handlers/base/index.d.ts +1 -0
- package/lib/handlers/base/index.d.ts.map +1 -0
- package/lib/handlers/base/index.js +2 -18
- package/lib/handlers/base/index.js.map +1 -1
- package/lib/handlers/base/raw-request.d.ts +1 -0
- package/lib/handlers/base/raw-request.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/default/default.handler.d.ts.map +1 -0
- package/lib/handlers/default/default.handler.js +2 -191
- package/lib/handlers/default/default.handler.js.map +1 -1
- package/lib/handlers/default/index.d.ts +1 -0
- package/lib/handlers/default/index.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/digital-ocean/index.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/firebase/http-firebase-v2.handler.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/firebase/http-firebase.handler.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/firebase/index.d.ts.map +1 -0
- package/lib/handlers/firebase/index.js +2 -19
- package/lib/handlers/firebase/index.js.map +1 -1
- package/lib/handlers/gcp/gcp.handler.d.ts +2 -1
- package/lib/handlers/gcp/gcp.handler.d.ts.map +1 -0
- package/lib/handlers/gcp/gcp.handler.js +2 -40
- package/lib/handlers/gcp/gcp.handler.js.map +1 -1
- package/lib/handlers/gcp/index.d.ts +1 -0
- package/lib/handlers/gcp/index.d.ts.map +1 -0
- package/lib/handlers/gcp/index.js +2 -18
- package/lib/handlers/gcp/index.js.map +1 -1
- package/lib/handlers/huawei/http-huawei.handler.d.ts +2 -2
- package/lib/handlers/huawei/http-huawei.handler.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/handlers/huawei/index.d.ts.map +1 -0
- package/lib/handlers/huawei/index.js +2 -18
- package/lib/handlers/huawei/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +2 -21
- package/lib/network/index.js.map +1 -1
- package/lib/network/request.d.ts +1 -1
- package/lib/network/request.d.ts.map +1 -0
- package/lib/network/request.js +2 -46
- package/lib/network/request.js.map +1 -1
- package/lib/network/response-stream.d.ts +1 -1
- package/lib/network/response-stream.d.ts.map +1 -0
- package/lib/network/response-stream.js +7 -88
- package/lib/network/response-stream.js.map +1 -1
- package/lib/network/response.d.ts +1 -1
- package/lib/network/response.d.ts.map +1 -0
- package/lib/network/response.js +4 -127
- package/lib/network/response.js.map +1 -1
- package/lib/network/utils.d.ts +2 -0
- package/lib/network/utils.d.ts.map +1 -0
- package/lib/network/utils.js +2 -21
- package/lib/network/utils.js.map +1 -1
- package/lib/resolvers/aws-context/aws-context.resolver.d.ts +1 -0
- package/lib/resolvers/aws-context/aws-context.resolver.d.ts.map +1 -0
- 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.d.ts +1 -0
- package/lib/resolvers/aws-context/index.d.ts.map +1 -0
- 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.d.ts +2 -2
- package/lib/resolvers/callback/callback.resolver.d.ts.map +1 -0
- package/lib/resolvers/callback/callback.resolver.js +2 -53
- package/lib/resolvers/callback/callback.resolver.js.map +1 -1
- package/lib/resolvers/callback/index.d.ts +1 -0
- package/lib/resolvers/callback/index.d.ts.map +1 -0
- package/lib/resolvers/callback/index.js +2 -18
- package/lib/resolvers/callback/index.js.map +1 -1
- package/lib/resolvers/dummy/dummy.resolver.d.ts +1 -0
- package/lib/resolvers/dummy/dummy.resolver.d.ts.map +1 -0
- package/lib/resolvers/dummy/dummy.resolver.js +2 -24
- package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
- package/lib/resolvers/dummy/index.d.ts +1 -0
- package/lib/resolvers/dummy/index.d.ts.map +1 -0
- package/lib/resolvers/dummy/index.js +2 -18
- package/lib/resolvers/dummy/index.js.map +1 -1
- package/lib/resolvers/promise/index.d.ts +1 -0
- package/lib/resolvers/promise/index.d.ts.map +1 -0
- package/lib/resolvers/promise/index.js +2 -18
- package/lib/resolvers/promise/index.js.map +1 -1
- package/lib/resolvers/promise/promise.resolver.d.ts +1 -0
- package/lib/resolvers/promise/promise.resolver.d.ts.map +1 -0
- package/lib/resolvers/promise/promise.resolver.js +2 -48
- package/lib/resolvers/promise/promise.resolver.js.map +1 -1
- package/lib/serverless-adapter.d.ts +1 -0
- package/lib/serverless-adapter.d.ts.map +1 -0
- package/lib/serverless-adapter.js +2 -176
- package/lib/serverless-adapter.js.map +1 -1
- package/package.json +60 -79
package/lib/@types/index.js
CHANGED
|
@@ -1,20 +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("./binary-settings"), exports);
|
|
18
|
-
__exportStar(require("./headers"), exports);
|
|
19
|
-
__exportStar(require("./helpers"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),types_exports={};module.exports=__toCommonJS(types_exports);__reExport(types_exports,require("./binary-settings"),module.exports);__reExport(types_exports,require("./headers"),module.exports);__reExport(types_exports,require("./helpers"),module.exports);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
package/lib/@types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/@types/index.ts"],"sourcesContent":["export * from './binary-settings';\nexport * from './headers';\nexport * from './helpers';\n"],"names":[],"mappings":"kqBAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAAA,WAAA,cAAc,QAAd,mBAAA,EAAA,OAAA,OAAA,EACA,WAAA,cAAc,QADd,WAAA,EAAA,OAAA,OAAA,EAEA,WAAA,cAAc,QAFd,WAAA,EAAA,OAAA,OAAA"}
|
|
@@ -6,7 +6,7 @@ import { ILogger } from '../../core';
|
|
|
6
6
|
* @breadcrumb Adapters / Apollo Server / ApolloServerMutationAdapter
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export type ApolloServerMutationAdapterOptions = {
|
|
10
10
|
/**
|
|
11
11
|
* Specify the name of mutation that will be called when an event was received
|
|
12
12
|
*/
|
|
@@ -53,4 +53,4 @@ export declare class ApolloServerMutationAdapter<TEvent, TContext, TResponse, TB
|
|
|
53
53
|
*/
|
|
54
54
|
onErrorWhileForwarding(props: OnErrorProps<TEvent, TResponse>): void;
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
//# sourceMappingURL=apollo-server-mutation.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apollo-server-mutation.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/apollo-server/apollo-server-mutation.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,EAGR,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,2BAA2B,CACtC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,YAAY,SAAS,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CACjE,YAAW,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;IAQrD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY;IAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kCAAkC;IALhE;;OAEG;gBAEkB,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,kCAAkC;IAOhE;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO;IAI1E;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,UAAU,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,GAAG,EAAE,OAAO,GACX,cAAc;IA4BjB;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,SAAS;IAerE;;OAEG;IACI,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;CAK5E"}
|
|
@@ -1,86 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.ApolloServerMutationAdapter = exports.__ΩApolloServerMutationAdapterOptions = void 0;
|
|
4
|
-
const { __ΩILogger } = require('../../core');
|
|
5
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
6
|
-
const { __ΩGetResponseAdapterProps } = require('../../contracts');
|
|
7
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
8
|
-
const core_1 = require("../../core");
|
|
9
|
-
const __ΩApolloServerMutationAdapterOptions = ['mutationName', 'mutationResultQuery', 'P&4!&4"8M'];
|
|
10
|
-
exports.__ΩApolloServerMutationAdapterOptions = __ΩApolloServerMutationAdapterOptions;
|
|
11
|
-
/**
|
|
12
|
-
* The adapter that wraps another adapter to force a transformation of the event data as a mutation to Apollo Server be able to handle.
|
|
13
|
-
*
|
|
14
|
-
* @breadcrumb Adapters / Apollo Server / ApolloServerMutationAdapter
|
|
15
|
-
* @public
|
|
16
|
-
*/
|
|
17
|
-
class ApolloServerMutationAdapter {
|
|
18
|
-
//#region Constructor
|
|
19
|
-
/**
|
|
20
|
-
* The default constructor
|
|
21
|
-
*/
|
|
22
|
-
constructor(baseAdapter, options) {
|
|
23
|
-
this.baseAdapter = baseAdapter;
|
|
24
|
-
this.options = options;
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
//#region Public Methods
|
|
28
|
-
/**
|
|
29
|
-
* {@inheritDoc}
|
|
30
|
-
*/
|
|
31
|
-
canHandle(event, context, log) {
|
|
32
|
-
return this.baseAdapter.canHandle(event, context, log);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* {@inheritDoc}
|
|
36
|
-
*/
|
|
37
|
-
getAdapterName() {
|
|
38
|
-
return this.baseAdapter.getAdapterName() + 'Mutation';
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* {@inheritDoc}
|
|
42
|
-
*/
|
|
43
|
-
getRequest(event, context, log) {
|
|
44
|
-
var _a;
|
|
45
|
-
const request = this.baseAdapter.getRequest(event, context, log);
|
|
46
|
-
request.method = 'POST';
|
|
47
|
-
const operationName = this.options.mutationName;
|
|
48
|
-
const mutationResultQuery = (0, core_1.getDefaultIfUndefined)(this.options.mutationResultQuery, '{ __typename }');
|
|
49
|
-
const mutationBody = JSON.stringify({
|
|
50
|
-
operationName,
|
|
51
|
-
query: `mutation ${operationName} ($event: String) { ${operationName} (event: $event) ${mutationResultQuery} }`,
|
|
52
|
-
variables: {
|
|
53
|
-
event: ((_a = request.body) === null || _a === void 0 ? void 0 : _a.toString()) || '',
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
const [buffer, contentLength] = (0, core_1.getEventBodyAsBuffer)(mutationBody, false);
|
|
57
|
-
request.body = buffer;
|
|
58
|
-
request.headers['content-type'] = 'application/json';
|
|
59
|
-
request.headers['content-length'] = String(contentLength);
|
|
60
|
-
return request;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* {@inheritDoc}
|
|
64
|
-
*/
|
|
65
|
-
getResponse(props) {
|
|
66
|
-
const { data, errors } = JSON.parse(props.body);
|
|
67
|
-
if (!errors) {
|
|
68
|
-
return this.baseAdapter.getResponse({
|
|
69
|
-
...props,
|
|
70
|
-
body: JSON.stringify(data[this.options.mutationName]),
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
// when error happens, is the responsability of base adapter
|
|
74
|
-
// to deal with error status code.
|
|
75
|
-
return this.baseAdapter.getResponse(props);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* {@inheritDoc}
|
|
79
|
-
*/
|
|
80
|
-
onErrorWhileForwarding(props) {
|
|
81
|
-
return this.baseAdapter.onErrorWhileForwarding(props);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.ApolloServerMutationAdapter = ApolloServerMutationAdapter;
|
|
85
|
-
ApolloServerMutationAdapter.__type = ['TEvent', 'TContext', 'TResponse', 'TBaseAdapter', 'baseAdapter', () => __ΩApolloServerMutationAdapterOptions, 'options', 'constructor', 'event', 'context', () => __ΩILogger, 'log', 'canHandle', 'getAdapterName', () => __ΩILogger, () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, 'props', 'getResponse', () => __ΩOnErrorProps, 'onErrorWhileForwarding', 'b!b"b#b$Pe"$2%<9n&2\'<9"0(P#2)e""2*n+2,)0-P&0.Pe"!2)e""2*n/2,n001Pe"!o2"23e"#04Pe"!e"#o5#23$065e!!e!"e!#6$'];
|
|
86
|
-
//# sourceMappingURL=apollo-server-mutation.adapter.js.map
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),apollo_server_mutation_adapter_exports={};__export(apollo_server_mutation_adapter_exports,{ApolloServerMutationAdapter:()=>ApolloServerMutationAdapter});module.exports=__toCommonJS(apollo_server_mutation_adapter_exports);var import_core=require("../../core");class ApolloServerMutationAdapter{constructor(baseAdapter,options){this.baseAdapter=baseAdapter,this.options=options}canHandle(event,context,log){return this.baseAdapter.canHandle(event,context,log)}getAdapterName(){return this.baseAdapter.getAdapterName()+"Mutation"}getRequest(event,context,log){var _a;const request=this.baseAdapter.getRequest(event,context,log);request.method="POST";const operationName=this.options.mutationName,mutationResultQuery=(0,import_core.getDefaultIfUndefined)(this.options.mutationResultQuery,"{ __typename }"),mutationBody=JSON.stringify({operationName,query:`mutation ${operationName} ($event: String) { ${operationName} (event: $event) ${mutationResultQuery} }`,variables:{event:((_a=request.body)==null?void 0:_a.toString())||""}}),[buffer,contentLength]=(0,import_core.getEventBodyAsBuffer)(mutationBody,!1);return request.body=buffer,request.headers["content-type"]="application/json",request.headers["content-length"]=String(contentLength),request}getResponse(props){const{data,errors}=JSON.parse(props.body);return errors?this.baseAdapter.getResponse(props):this.baseAdapter.getResponse({...props,body:JSON.stringify(data[this.options.mutationName])})}onErrorWhileForwarding(props){return this.baseAdapter.onErrorWhileForwarding(props)}}
|
|
2
|
+
//# sourceMappingURL=apollo-server-mutation.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apollo-server-mutation.adapter.js","
|
|
1
|
+
{"version":3,"file":"apollo-server-mutation.adapter.js","sources":["../../../src/adapters/apollo-server/apollo-server-mutation.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n ILogger,\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options for {@link ApolloServerMutationAdapter}\n *\n * @breadcrumb Adapters / Apollo Server / ApolloServerMutationAdapter\n * @public\n */\nexport type ApolloServerMutationAdapterOptions = {\n /**\n * Specify the name of mutation that will be called when an event was received\n */\n mutationName: string;\n\n /**\n * Specify the mutation result schema.\n * Use this to customize the behavior when you need to return a specific object to be handled by the Adapter, like SQS with Batch Mode.\n *\n * @defaultValue `{ __typename }`\n */\n mutationResultQuery?: string;\n};\n\n/**\n * The adapter that wraps another adapter to force a transformation of the event data as a mutation to Apollo Server be able to handle.\n *\n * @breadcrumb Adapters / Apollo Server / ApolloServerMutationAdapter\n * @public\n */\nexport class ApolloServerMutationAdapter<\n TEvent,\n TContext,\n TResponse,\n TBaseAdapter extends AdapterContract<TEvent, TContext, TResponse>,\n> implements AdapterContract<TEvent, TContext, TResponse>\n{\n //#region Constructor\n\n /**\n * The default constructor\n */\n constructor(\n protected readonly baseAdapter: TBaseAdapter,\n protected readonly options: ApolloServerMutationAdapterOptions,\n ) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown, context: TContext, log: ILogger): boolean {\n return this.baseAdapter.canHandle(event, context, log);\n }\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return this.baseAdapter.getAdapterName() + 'Mutation';\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(\n event: TEvent,\n context: TContext,\n log: ILogger,\n ): AdapterRequest {\n const request = this.baseAdapter.getRequest(event, context, log);\n\n request.method = 'POST';\n\n const operationName = this.options.mutationName;\n const mutationResultQuery = getDefaultIfUndefined(\n this.options.mutationResultQuery,\n '{ __typename }',\n );\n\n const mutationBody = JSON.stringify({\n operationName,\n query: `mutation ${operationName} ($event: String) { ${operationName} (event: $event) ${mutationResultQuery} }`,\n variables: {\n event: request.body?.toString() || '',\n },\n });\n\n const [buffer, contentLength] = getEventBodyAsBuffer(mutationBody, false);\n\n request.body = buffer;\n request.headers['content-type'] = 'application/json';\n request.headers['content-length'] = String(contentLength);\n\n return request;\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse(props: GetResponseAdapterProps<TEvent>): TResponse {\n const { data, errors } = JSON.parse(props.body);\n\n if (!errors) {\n return this.baseAdapter.getResponse({\n ...props,\n body: JSON.stringify(data[this.options.mutationName]),\n });\n }\n\n // when error happens, is the responsability of base adapter\n // to deal with error status code.\n return this.baseAdapter.getResponse(props);\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding(props: OnErrorProps<TEvent, TResponse>): void {\n return this.baseAdapter.onErrorWhileForwarding(props);\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,uCAAA,CAAA,EAAA,SAAA,uCAAA,CAAA,4BAAA,IAAA,2BAAA,CAAA,EAAA,OAAA,QAAA,aAAA,sCAAA,EAQA,IAIO,YAAA,QAAA,YAAA,EA+BA,MAAM,2BAMb,CAME,YACqB,YACA,QACnB,CAFmB,KAAA,YAAA,YACA,KAAA,QAAA,OAClB,CASI,UAAU,MAAgB,QAAmB,IAAuB,CACzE,OAAO,KAAK,YAAY,UAAU,MAAO,QAAS,GAAG,CACvD,CAKO,gBAAyB,CACvB,OAAA,KAAK,YAAY,eAAA,EAAmB,UAC7C,CAKO,WACL,MACA,QACA,IACgB,QAChB,MAAM,QAAU,KAAK,YAAY,WAAW,MAAO,QAAS,GAAG,EAE/D,QAAQ,OAAS,OAEX,MAAA,cAAgB,KAAK,QAAQ,aAC7B,uBAAsB,YAAA,uBAC1B,KAAK,QAAQ,oBACb,gBAAA,EAGI,aAAe,KAAK,UAAU,CAClC,cACA,MAAO,YAAY,oCAAoC,iCAAiC,wBACxF,UAAW,CACT,QAAO,WAAQ,OAAR,eAAc,aAAc,EACrC,CAAA,CACD,EAEK,CAAC,OAAQ,aAAa,KAAI,YAAA,sBAAqB,aAAc,EAAK,EAExE,eAAQ,KAAO,OACP,QAAA,QAAQ,cAAc,EAAI,mBAClC,QAAQ,QAAQ,gBAAgB,EAAI,OAAO,aAAa,EAEjD,OACT,CAKO,YAAY,MAAmD,CACpE,KAAM,CAAE,KAAM,QAAW,KAAK,MAAM,MAAM,IAAI,EAE9C,OAAK,OASE,KAAK,YAAY,YAAY,KAAK,EARhC,KAAK,YAAY,YAAY,CAClC,GAAG,MACH,KAAM,KAAK,UAAU,KAAK,KAAK,QAAQ,YAAY,CAAC,CAAA,CACrD,CAML,CAKO,uBAAuB,MAA8C,CACnE,OAAA,KAAK,YAAY,uBAAuB,KAAK,CACtD,CAGF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/apollo-server/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
|
|
@@ -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("./apollo-server-mutation.adapter"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),apollo_server_exports={};module.exports=__toCommonJS(apollo_server_exports);__reExport(apollo_server_exports,require("./apollo-server-mutation.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/apollo-server/index.ts"],"sourcesContent":["export * from './apollo-server-mutation.adapter';\n"],"names":[],"mappings":"kqBAAA,sBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAAA,WAAA,sBAAc,QAAd,kCAAA,EAAA,OAAA,OAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ALBEvent, ALBResult, Context } from 'aws-lambda';
|
|
2
2
|
import { AdapterContract, AdapterRequest, GetResponseAdapterProps, OnErrorProps } from '../../contracts';
|
|
3
|
+
import { StripBasePathFn } from '../../core';
|
|
3
4
|
/**
|
|
4
5
|
* The options to customize the {@link AlbAdapter}
|
|
5
6
|
*
|
|
@@ -36,6 +37,10 @@ export declare class AlbAdapter implements AdapterContract<ALBEvent, Context, AL
|
|
|
36
37
|
* @param options - The options to customize the {@link AlbAdapter}
|
|
37
38
|
*/
|
|
38
39
|
constructor(options?: AlbAdapterOptions | undefined);
|
|
40
|
+
/**
|
|
41
|
+
* Strip base path function
|
|
42
|
+
*/
|
|
43
|
+
protected stripPathFn: StripBasePathFn;
|
|
39
44
|
/**
|
|
40
45
|
* {@inheritDoc}
|
|
41
46
|
*/
|
|
@@ -63,4 +68,4 @@ export declare class AlbAdapter implements AdapterContract<ALBEvent, Context, AL
|
|
|
63
68
|
*/
|
|
64
69
|
protected getPathFromEvent(event: ALBEvent): string;
|
|
65
70
|
}
|
|
66
|
-
|
|
71
|
+
//# sourceMappingURL=alb.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alb.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws/alb.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAMhB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,UACX,YAAW,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;IAS5C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IALvC;;;;OAIG;gBAC4B,OAAO,CAAC,+BAAmB;IAQ1D;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAMvC;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ;IAMnD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc;IAkClD;;OAEG;IACI,WAAW,CAAC,EACjB,KAAK,EACL,OAAO,EAAE,eAAe,EACxB,IAAI,EACJ,eAAe,EACf,UAAU,GACX,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG,SAAS;IAkBhD;;OAEG;IACI,sBAAsB,CAAC,EAC5B,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,EACL,GAAG,GACJ,EAAE,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAI;IAkB3C;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;CAWpD"}
|
|
@@ -1,129 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.AlbAdapter = exports.__ΩAlbAdapterOptions = void 0;
|
|
4
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
5
|
-
const { __ΩGetResponseAdapterProps } = require('../../contracts');
|
|
6
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
7
|
-
const core_1 = require("../../core");
|
|
8
|
-
const __ΩAlbAdapterOptions = ['stripBasePath', 'P&4!8M'];
|
|
9
|
-
exports.__ΩAlbAdapterOptions = __ΩAlbAdapterOptions;
|
|
10
|
-
/**
|
|
11
|
-
* The adapter to handle requests from AWS ALB
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const stripBasePath = '/any/custom/base/path'; // default ''
|
|
16
|
-
* const adapter = new AlbAdapter({ stripBasePath });
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* {@link https://docs.aws.amazon.com/lambda/latest/dg/services-alb.html | Event Reference}
|
|
20
|
-
*
|
|
21
|
-
* @breadcrumb Adapters / AWS / AlbAdapter
|
|
22
|
-
* @public
|
|
23
|
-
*/
|
|
24
|
-
class AlbAdapter {
|
|
25
|
-
//#region Constructor
|
|
26
|
-
/**
|
|
27
|
-
* Default constructor
|
|
28
|
-
*
|
|
29
|
-
* @param options - The options to customize the {@link AlbAdapter}
|
|
30
|
-
*/
|
|
31
|
-
constructor(options) {
|
|
32
|
-
this.options = options;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
//#region Public Methods
|
|
36
|
-
/**
|
|
37
|
-
* {@inheritDoc}
|
|
38
|
-
*/
|
|
39
|
-
getAdapterName() {
|
|
40
|
-
return AlbAdapter.name;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* {@inheritDoc}
|
|
44
|
-
*/
|
|
45
|
-
canHandle(event) {
|
|
46
|
-
const albEvent = event;
|
|
47
|
-
return !!((albEvent === null || albEvent === void 0 ? void 0 : albEvent.requestContext) && albEvent.requestContext.elb);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* {@inheritDoc}
|
|
51
|
-
*/
|
|
52
|
-
getRequest(event) {
|
|
53
|
-
const method = event.httpMethod;
|
|
54
|
-
const path = this.getPathFromEvent(event);
|
|
55
|
-
const headers = event.multiValueHeaders
|
|
56
|
-
? (0, core_1.getFlattenedHeadersMap)(event.multiValueHeaders, ',', true)
|
|
57
|
-
: event.headers;
|
|
58
|
-
let body;
|
|
59
|
-
if (event.body) {
|
|
60
|
-
const [bufferBody, contentLength] = (0, core_1.getEventBodyAsBuffer)(event.body, event.isBase64Encoded);
|
|
61
|
-
body = bufferBody;
|
|
62
|
-
headers['content-length'] = String(contentLength);
|
|
63
|
-
}
|
|
64
|
-
let remoteAddress = '';
|
|
65
|
-
// ref: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/x-forwarded-headers.html#x-forwarded-for
|
|
66
|
-
if (headers['x-forwarded-for'])
|
|
67
|
-
remoteAddress = headers['x-forwarded-for'];
|
|
68
|
-
return {
|
|
69
|
-
method,
|
|
70
|
-
headers,
|
|
71
|
-
body,
|
|
72
|
-
remoteAddress,
|
|
73
|
-
path,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* {@inheritDoc}
|
|
78
|
-
*/
|
|
79
|
-
getResponse({ event, headers: responseHeaders, body, isBase64Encoded, statusCode, }) {
|
|
80
|
-
const multiValueHeaders = !event.headers
|
|
81
|
-
? (0, core_1.getMultiValueHeadersMap)(responseHeaders)
|
|
82
|
-
: undefined;
|
|
83
|
-
const headers = event.headers
|
|
84
|
-
? (0, core_1.getFlattenedHeadersMap)(responseHeaders)
|
|
85
|
-
: undefined;
|
|
86
|
-
return {
|
|
87
|
-
statusCode,
|
|
88
|
-
body,
|
|
89
|
-
headers,
|
|
90
|
-
multiValueHeaders,
|
|
91
|
-
isBase64Encoded,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* {@inheritDoc}
|
|
96
|
-
*/
|
|
97
|
-
onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }) {
|
|
98
|
-
const body = respondWithErrors ? error.stack || '' : '';
|
|
99
|
-
const errorResponse = this.getResponse({
|
|
100
|
-
event,
|
|
101
|
-
statusCode: 500,
|
|
102
|
-
body,
|
|
103
|
-
headers: {},
|
|
104
|
-
isBase64Encoded: false,
|
|
105
|
-
log,
|
|
106
|
-
});
|
|
107
|
-
delegatedResolver.succeed(errorResponse);
|
|
108
|
-
}
|
|
109
|
-
//#endregion
|
|
110
|
-
//#region Protected Methods
|
|
111
|
-
/**
|
|
112
|
-
* Get path from event with query strings
|
|
113
|
-
*
|
|
114
|
-
* @param event - The event sent by serverless
|
|
115
|
-
*/
|
|
116
|
-
getPathFromEvent(event) {
|
|
117
|
-
var _a;
|
|
118
|
-
const stripBasePath = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.stripBasePath, '');
|
|
119
|
-
const replaceRegex = new RegExp(`^${stripBasePath}`);
|
|
120
|
-
const path = event.path.replace(replaceRegex, '');
|
|
121
|
-
const queryParams = event.headers
|
|
122
|
-
? event.queryStringParameters
|
|
123
|
-
: event.multiValueQueryStringParameters;
|
|
124
|
-
return (0, core_1.getPathWithQueryStringParams)(path, queryParams || {});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.AlbAdapter = AlbAdapter;
|
|
128
|
-
AlbAdapter.__type = [() => __ΩAlbAdapterOptions, 'options', 'constructor', 'getAdapterName', 'event', 'canHandle', () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, 'param0', 'getResponse', () => __ΩOnErrorProps, 'onErrorWhileForwarding', 'getPathFromEvent', 'Pn!2"8<9"0#P&0$P#2%!0&P"2%n\'0(P"o)"2*"0+P""o,#2*$0-P"2%&0.<5"""6$'];
|
|
129
|
-
//# sourceMappingURL=alb.adapter.js.map
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),alb_adapter_exports={};__export(alb_adapter_exports,{AlbAdapter:()=>AlbAdapter});module.exports=__toCommonJS(alb_adapter_exports);var import_core=require("../../core");class AlbAdapter{constructor(options){var _a;this.options=options,this.stripPathFn=(0,import_core.buildStripBasePath)((_a=this.options)==null?void 0:_a.stripBasePath)}getAdapterName(){return AlbAdapter.name}canHandle(event){const albEvent=event;return!!(albEvent!=null&&albEvent.requestContext&&albEvent.requestContext.elb)}getRequest(event){const method=event.httpMethod,path=this.getPathFromEvent(event),headers=event.multiValueHeaders?(0,import_core.getFlattenedHeadersMap)(event.multiValueHeaders,",",!0):event.headers;let body;if(event.body){const[bufferBody,contentLength]=(0,import_core.getEventBodyAsBuffer)(event.body,event.isBase64Encoded);body=bufferBody,headers["content-length"]=String(contentLength)}let remoteAddress="";return headers["x-forwarded-for"]&&(remoteAddress=headers["x-forwarded-for"]),{method,headers,body,remoteAddress,path}}getResponse({event,headers:responseHeaders,body,isBase64Encoded,statusCode}){const multiValueHeaders=event.headers?void 0:(0,import_core.getMultiValueHeadersMap)(responseHeaders),headers=event.headers?(0,import_core.getFlattenedHeadersMap)(responseHeaders):void 0;return{statusCode,body,headers,multiValueHeaders,isBase64Encoded}}onErrorWhileForwarding({error,delegatedResolver,respondWithErrors,event,log}){const body=respondWithErrors&&error.stack||"",errorResponse=this.getResponse({event,statusCode:500,body,headers:{},isBase64Encoded:!1,log});delegatedResolver.succeed(errorResponse)}getPathFromEvent(event){const path=this.stripPathFn(event.path),queryParams=event.headers?event.queryStringParameters:event.multiValueQueryStringParameters;return(0,import_core.getPathWithQueryStringParams)(path,queryParams||{})}}
|
|
2
|
+
//# sourceMappingURL=alb.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alb.adapter.js","
|
|
1
|
+
{"version":3,"file":"alb.adapter.js","sources":["../../../src/adapters/aws/alb.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport type { ALBEvent, ALBResult, Context } from 'aws-lambda';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n StripBasePathFn,\n buildStripBasePath,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link AlbAdapter}\n *\n * @breadcrumb Adapters / AWS / AlbAdapter\n * @public\n */\nexport interface AlbAdapterOptions {\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 AWS ALB\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new AlbAdapter({ stripBasePath });\n * ```\n *\n * {@link https://docs.aws.amazon.com/lambda/latest/dg/services-alb.html | Event Reference}\n *\n * @breadcrumb Adapters / AWS / AlbAdapter\n * @public\n */\nexport class AlbAdapter\n implements AdapterContract<ALBEvent, Context, ALBResult>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link AlbAdapter}\n */\n constructor(protected readonly options?: AlbAdapterOptions) {\n this.stripPathFn = buildStripBasePath(this.options?.stripBasePath);\n }\n\n //#endregion\n\n //#region Protected Properties\n\n /**\n * Strip base path function\n */\n protected stripPathFn: StripBasePathFn;\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return AlbAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is ALBEvent {\n const albEvent = event as Partial<ALBEvent>;\n\n return !!(albEvent?.requestContext && albEvent.requestContext.elb);\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: ALBEvent): AdapterRequest {\n const method = event.httpMethod;\n const path = this.getPathFromEvent(event);\n\n const headers = event.multiValueHeaders\n ? getFlattenedHeadersMap(event.multiValueHeaders, ',', true)\n : event.headers!;\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 let remoteAddress = '';\n\n // ref: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/x-forwarded-headers.html#x-forwarded-for\n if (headers['x-forwarded-for']) 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 event,\n headers: responseHeaders,\n body,\n isBase64Encoded,\n statusCode,\n }: GetResponseAdapterProps<ALBEvent>): ALBResult {\n const multiValueHeaders = !event.headers\n ? getMultiValueHeadersMap(responseHeaders)\n : undefined;\n\n const headers = event.headers\n ? getFlattenedHeadersMap(responseHeaders)\n : undefined;\n\n return {\n statusCode,\n body,\n headers,\n multiValueHeaders,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<ALBEvent, ALBResult>): void {\n const body = respondWithErrors ? error.stack || '' : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n 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: ALBEvent): string {\n const path = this.stripPathFn(event.path);\n\n const queryParams = event.headers\n ? event.queryStringParameters\n : event.multiValueQueryStringParameters;\n\n return getPathWithQueryStringParams(path, queryParams || {});\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,oBAAA,CAAA,EAAA,SAAA,oBAAA,CAAA,WAAA,IAAA,UAAA,CAAA,EAAA,OAAA,QAAA,aAAA,mBAAA,EASA,IAOO,YAAA,QAAA,YAAA,EAiCA,MAAM,UAEb,CAQE,YAA+B,QAA6B,QAA7B,KAAA,QAAA,QAC7B,KAAK,eAAc,YAAA,qBAAmB,QAAK,UAAL,eAAc,aAAa,CACnE,CAkBO,gBAAyB,CAC9B,OAAO,WAAW,IACpB,CAKO,UAAU,MAAmC,CAClD,MAAM,SAAW,MAEjB,MAAO,CAAC,EAAE,yBAAU,gBAAkB,SAAS,eAAe,IAChE,CAKO,WAAW,MAAiC,CACjD,MAAM,OAAS,MAAM,WACf,KAAO,KAAK,iBAAiB,KAAK,EAElC,QAAU,MAAM,qBAClB,YAAA,wBAAuB,MAAM,kBAAmB,IAAK,EAAI,EACzD,MAAM,QAEN,IAAA,KAEJ,GAAI,MAAM,KAAM,CACR,KAAA,CAAC,WAAY,aAAa,KAAI,YAAA,sBAClC,MAAM,KACN,MAAM,eAAA,EAGD,KAAA,WACC,QAAA,gBAAgB,EAAI,OAAO,aAAa,EAGlD,IAAI,cAAgB,GAGpB,OAAI,QAAQ,iBAAiB,IAAG,cAAgB,QAAQ,iBAAiB,GAElE,CACL,OACA,QACA,KACA,cACA,IAAA,CAEJ,CAKO,YAAY,CACjB,MACA,QAAS,gBACT,KACA,gBACA,UAAA,EAC+C,CAC/C,MAAM,kBAAqB,MAAM,QAE7B,UADA,YAAA,yBAAwB,eAAe,EAGrC,QAAU,MAAM,WAClB,YAAA,wBAAuB,eAAe,EACtC,OAEG,MAAA,CACL,WACA,KACA,QACA,kBACA,eAAA,CAEJ,CAKO,uBAAuB,CAC5B,MACA,kBACA,kBACA,MACA,GAAA,EAC0C,CAC1C,MAAM,KAAO,mBAAoB,MAAM,OAAS,GAC1C,cAAgB,KAAK,YAAY,CACrC,MACA,WAAY,IACZ,KACA,QAAS,CAAC,EACV,gBAAiB,GACjB,GAAA,CACD,EAED,kBAAkB,QAAQ,aAAa,CACzC,CAWU,iBAAiB,MAAyB,CAClD,MAAM,KAAO,KAAK,YAAY,MAAM,IAAI,EAElC,YAAc,MAAM,QACtB,MAAM,sBACN,MAAM,gCAEV,SAAO,YAA6B,8BAAA,KAAM,aAAe,CAAE,CAAA,CAC7D,CAGF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { APIGatewayProxyResult, Context } from 'aws-lambda';
|
|
2
2
|
import type { APIGatewayProxyEvent } from 'aws-lambda/trigger/api-gateway-proxy';
|
|
3
3
|
import { AdapterContract, AdapterRequest, GetResponseAdapterProps, OnErrorProps } from '../../contracts';
|
|
4
|
+
import { StripBasePathFn } from '../../core';
|
|
4
5
|
/**
|
|
5
6
|
* The options to customize the {@link ApiGatewayV1Adapter}
|
|
6
7
|
*
|
|
@@ -41,6 +42,10 @@ export declare class ApiGatewayV1Adapter implements AdapterContract<APIGatewayPr
|
|
|
41
42
|
* @param options - The options to customize the {@link ApiGatewayV1Adapter}
|
|
42
43
|
*/
|
|
43
44
|
constructor(options?: ApiGatewayV1Options | undefined);
|
|
45
|
+
/**
|
|
46
|
+
* Strip base path function
|
|
47
|
+
*/
|
|
48
|
+
protected stripPathFn: StripBasePathFn;
|
|
44
49
|
/**
|
|
45
50
|
* {@inheritDoc}
|
|
46
51
|
*/
|
|
@@ -68,4 +73,4 @@ export declare class ApiGatewayV1Adapter implements AdapterContract<APIGatewayPr
|
|
|
68
73
|
*/
|
|
69
74
|
protected getPathFromEvent(event: APIGatewayProxyEvent): string;
|
|
70
75
|
}
|
|
71
|
-
|
|
76
|
+
//# sourceMappingURL=api-gateway-v1.adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-gateway-v1.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/aws/api-gateway-v1.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAKhB,MAAM,YAAY,CAAC;AAIpB;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBACX,YACE,eAAe,CAAC,oBAAoB,EAAE,OAAO,EAAE,qBAAqB,CAAC;IAS3D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IALvC;;;;OAIG;gBAC4B,OAAO,CAAC,iCAAqB;IAQ5D;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAMvC;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB;IAiB/D;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,oBAAoB,GAAG,cAAc;IA4C9D;;OAEG;IACI,WAAW,CAAC,EACjB,OAAO,EAAE,eAAe,EACxB,IAAI,EACJ,eAAe,EACf,UAAU,EACV,QAAQ,GACT,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,GAAG,qBAAqB;IA4BxE;;OAEG;IACI,sBAAsB,CAAC,EAC5B,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,EACL,GAAG,GACJ,EAAE,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,IAAI;IAkBnE;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM;CAuBhE"}
|
|
@@ -1,140 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.ApiGatewayV1Adapter = exports.__ΩApiGatewayV1Options = void 0;
|
|
4
|
-
const { __ΩAdapterRequest } = require('../../contracts');
|
|
5
|
-
const { __ΩGetResponseAdapterProps } = require('../../contracts');
|
|
6
|
-
const { __ΩOnErrorProps } = require('../../contracts');
|
|
7
|
-
function __assignType(fn, args) {
|
|
8
|
-
fn.__type = args;
|
|
9
|
-
return fn;
|
|
10
|
-
}
|
|
11
|
-
const core_1 = require("../../core");
|
|
12
|
-
const __ΩApiGatewayV1Options = ['stripBasePath', 'P&4!8M'];
|
|
13
|
-
exports.__ΩApiGatewayV1Options = __ΩApiGatewayV1Options;
|
|
14
|
-
/**
|
|
15
|
-
* The adapter to handle requests from AWS Api Gateway V1
|
|
16
|
-
*
|
|
17
|
-
* As per {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-known-issues.html | know issues}, we throw an exception when you send the `transfer-encoding=chunked`, currently, API Gateway doesn't support chunked transfer.
|
|
18
|
-
*
|
|
19
|
-
* @remarks This adapter is not fully compatible with \@vendia/serverless-express, on \@vendia they filter `transfer-encoding=chunked` but we throw an exception.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const stripBasePath = '/any/custom/base/path'; // default ''
|
|
24
|
-
* const adapter = new ApiGatewayV1Adapter({ stripBasePath });
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html | Event Reference}
|
|
28
|
-
*
|
|
29
|
-
* @breadcrumb Adapters / AWS / ApiGatewayV1Adapter
|
|
30
|
-
* @public
|
|
31
|
-
*/
|
|
32
|
-
class ApiGatewayV1Adapter {
|
|
33
|
-
//#region Constructor
|
|
34
|
-
/**
|
|
35
|
-
* Default constructor
|
|
36
|
-
*
|
|
37
|
-
* @param options - The options to customize the {@link ApiGatewayV1Adapter}
|
|
38
|
-
*/
|
|
39
|
-
constructor(options) {
|
|
40
|
-
this.options = options;
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
//#region Public Methods
|
|
44
|
-
/**
|
|
45
|
-
* {@inheritDoc}
|
|
46
|
-
*/
|
|
47
|
-
getAdapterName() {
|
|
48
|
-
return ApiGatewayV1Adapter.name;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* {@inheritDoc}
|
|
52
|
-
*/
|
|
53
|
-
canHandle(event) {
|
|
54
|
-
const partialEventV1 = event;
|
|
55
|
-
return !!((partialEventV1 === null || partialEventV1 === void 0 ? void 0 : partialEventV1.requestContext) &&
|
|
56
|
-
partialEventV1.version !== '2.0' &&
|
|
57
|
-
partialEventV1.headers &&
|
|
58
|
-
partialEventV1.multiValueHeaders &&
|
|
59
|
-
((partialEventV1.queryStringParameters === null &&
|
|
60
|
-
partialEventV1.multiValueQueryStringParameters === null) ||
|
|
61
|
-
(partialEventV1.queryStringParameters &&
|
|
62
|
-
partialEventV1.multiValueQueryStringParameters)));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* {@inheritDoc}
|
|
66
|
-
*/
|
|
67
|
-
getRequest(event) {
|
|
68
|
-
const method = event.httpMethod;
|
|
69
|
-
const headers = (0, core_1.getFlattenedHeadersMap)(event.headers, ',', true);
|
|
70
|
-
const path = this.getPathFromEvent(event);
|
|
71
|
-
let body;
|
|
72
|
-
if (event.body) {
|
|
73
|
-
const [bufferBody, contentLength] = (0, core_1.getEventBodyAsBuffer)(event.body, event.isBase64Encoded);
|
|
74
|
-
body = bufferBody;
|
|
75
|
-
headers['content-length'] = String(contentLength);
|
|
76
|
-
}
|
|
77
|
-
const remoteAddress = event.requestContext.identity.sourceIp;
|
|
78
|
-
return {
|
|
79
|
-
method,
|
|
80
|
-
headers,
|
|
81
|
-
body,
|
|
82
|
-
remoteAddress,
|
|
83
|
-
path,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* {@inheritDoc}
|
|
88
|
-
*/
|
|
89
|
-
getResponse({ headers: responseHeaders, body, isBase64Encoded, statusCode, response, }) {
|
|
90
|
-
const multiValueHeaders = (0, core_1.getMultiValueHeadersMap)(responseHeaders);
|
|
91
|
-
const transferEncodingHeader = multiValueHeaders['transfer-encoding'];
|
|
92
|
-
const hasTransferEncodingChunked = transferEncodingHeader &&
|
|
93
|
-
transferEncodingHeader.some(__assignType(value => value.includes('chunked'), ['value', '', 'P"2!"/"']));
|
|
94
|
-
if (hasTransferEncodingChunked) {
|
|
95
|
-
throw new Error('chunked encoding in headers is not supported by API Gateway V1');
|
|
96
|
-
}
|
|
97
|
-
if (response === null || response === void 0 ? void 0 : response.chunkedEncoding) {
|
|
98
|
-
throw new Error('chunked encoding in response is not supported by API Gateway V1');
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
statusCode,
|
|
102
|
-
body,
|
|
103
|
-
multiValueHeaders,
|
|
104
|
-
isBase64Encoded,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* {@inheritDoc}
|
|
109
|
-
*/
|
|
110
|
-
onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }) {
|
|
111
|
-
const body = respondWithErrors ? error.stack : '';
|
|
112
|
-
const errorResponse = this.getResponse({
|
|
113
|
-
event,
|
|
114
|
-
statusCode: 500,
|
|
115
|
-
body: body || '',
|
|
116
|
-
headers: {},
|
|
117
|
-
isBase64Encoded: false,
|
|
118
|
-
log,
|
|
119
|
-
});
|
|
120
|
-
delegatedResolver.succeed(errorResponse);
|
|
121
|
-
}
|
|
122
|
-
//#endregion
|
|
123
|
-
//#region Protected Methods
|
|
124
|
-
/**
|
|
125
|
-
* Get path from event with query strings
|
|
126
|
-
*
|
|
127
|
-
* @param event - The event sent by serverless
|
|
128
|
-
*/
|
|
129
|
-
getPathFromEvent(event) {
|
|
130
|
-
var _a;
|
|
131
|
-
const stripBasePath = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.stripBasePath, '');
|
|
132
|
-
const replaceRegex = new RegExp(`^${stripBasePath}`);
|
|
133
|
-
const path = event.path.replace(replaceRegex, '');
|
|
134
|
-
const queryParams = event.queryStringParameters || {};
|
|
135
|
-
return (0, core_1.getPathWithQueryStringParams)(path, queryParams);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
exports.ApiGatewayV1Adapter = ApiGatewayV1Adapter;
|
|
139
|
-
ApiGatewayV1Adapter.__type = [() => __ΩApiGatewayV1Options, 'options', 'constructor', 'getAdapterName', 'event', 'canHandle', () => __ΩAdapterRequest, 'getRequest', () => __ΩGetResponseAdapterProps, 'param0', 'getResponse', () => __ΩOnErrorProps, 'onErrorWhileForwarding', 'getPathFromEvent', 'Pn!2"8<9"0#P&0$P#2%!0&P"2%n\'0(P"o)"2*"0+P""o,#2*$0-P"2%&0.<5"""6$'];
|
|
140
|
-
//# sourceMappingURL=api-gateway-v1.adapter.js.map
|
|
1
|
+
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),api_gateway_v1_adapter_exports={};__export(api_gateway_v1_adapter_exports,{ApiGatewayV1Adapter:()=>ApiGatewayV1Adapter});module.exports=__toCommonJS(api_gateway_v1_adapter_exports);var import_core=require("../../core");class ApiGatewayV1Adapter{constructor(options){var _a;this.options=options,this.stripPathFn=(0,import_core.buildStripBasePath)((_a=this.options)==null?void 0:_a.stripBasePath)}getAdapterName(){return ApiGatewayV1Adapter.name}canHandle(event){const partialEventV1=event;return!!(partialEventV1!=null&&partialEventV1.requestContext&&partialEventV1.version!=="2.0"&&partialEventV1.headers&&partialEventV1.multiValueHeaders&&(partialEventV1.queryStringParameters===null&&partialEventV1.multiValueQueryStringParameters===null||partialEventV1.queryStringParameters&&partialEventV1.multiValueQueryStringParameters))}getRequest(event){const method=event.httpMethod,headers={...event.headers};for(const multiValueHeaderKey of Object.keys(event.multiValueHeaders||{})){const headerValue=event.multiValueHeaders[multiValueHeaderKey];!headerValue||(headerValue==null?void 0:headerValue.length)<=1||(headers[multiValueHeaderKey]=headerValue.join(","))}const path=this.getPathFromEvent(event);let body;if(event.body){const[bufferBody,contentLength]=(0,import_core.getEventBodyAsBuffer)(event.body,event.isBase64Encoded);body=bufferBody,headers["content-length"]=contentLength+""}const remoteAddress=event.requestContext.identity.sourceIp;return{method,headers,body,remoteAddress,path}}getResponse({headers:responseHeaders,body,isBase64Encoded,statusCode,response}){const multiValueHeaders=(0,import_core.getMultiValueHeadersMap)(responseHeaders),transferEncodingHeader=multiValueHeaders["transfer-encoding"];if(transferEncodingHeader==null?void 0:transferEncodingHeader.some(value=>value.includes("chunked")))throw new Error("chunked encoding in headers is not supported by API Gateway V1");if(response!=null&&response.chunkedEncoding)throw new Error("chunked encoding in response is not supported by API Gateway V1");return{statusCode,body,multiValueHeaders,isBase64Encoded}}onErrorWhileForwarding({error,delegatedResolver,respondWithErrors,event,log}){const body=respondWithErrors?error.stack:"",errorResponse=this.getResponse({event,statusCode:500,body:body||"",headers:{},isBase64Encoded:!1,log});delegatedResolver.succeed(errorResponse)}getPathFromEvent(event){const path=this.stripPathFn(event.path),queryParams=event.multiValueQueryStringParameters||{};if(event.queryStringParameters)for(const queryStringKey of Object.keys(event.queryStringParameters)){const queryStringValue=event.queryStringParameters[queryStringKey];queryStringValue!==void 0&&(Array.isArray(queryParams[queryStringKey])||(queryParams[queryStringKey]=[]),!queryParams[queryStringKey].includes(queryStringValue)&&queryParams[queryStringKey].push(queryStringValue))}return(0,import_core.getPathWithQueryStringParams)(path,queryParams)}}
|
|
2
|
+
//# sourceMappingURL=api-gateway-v1.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-gateway-v1.adapter.js","
|
|
1
|
+
{"version":3,"file":"api-gateway-v1.adapter.js","sources":["../../../src/adapters/aws/api-gateway-v1.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport type { APIGatewayProxyResult, Context } from 'aws-lambda';\nimport type { APIGatewayProxyEvent } from 'aws-lambda/trigger/api-gateway-proxy';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n StripBasePathFn,\n buildStripBasePath,\n getEventBodyAsBuffer,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link ApiGatewayV1Adapter}\n *\n * @breadcrumb Adapters / AWS / ApiGatewayV1Adapter\n * @public\n */\nexport interface ApiGatewayV1Options {\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 AWS Api Gateway V1\n *\n * As per {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-known-issues.html | know issues}, we throw an exception when you send the `transfer-encoding=chunked`, currently, API Gateway doesn't support chunked transfer.\n *\n * @remarks This adapter is not fully compatible with \\@vendia/serverless-express, on \\@vendia they filter `transfer-encoding=chunked` but we throw an exception.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new ApiGatewayV1Adapter({ stripBasePath });\n * ```\n *\n * {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html | Event Reference}\n *\n * @breadcrumb Adapters / AWS / ApiGatewayV1Adapter\n * @public\n */\nexport class ApiGatewayV1Adapter\n implements\n AdapterContract<APIGatewayProxyEvent, Context, APIGatewayProxyResult>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link ApiGatewayV1Adapter}\n */\n constructor(protected readonly options?: ApiGatewayV1Options) {\n this.stripPathFn = buildStripBasePath(this.options?.stripBasePath);\n }\n\n //#endregion\n\n //#region Protected Properties\n\n /**\n * Strip base path function\n */\n protected stripPathFn: StripBasePathFn;\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return ApiGatewayV1Adapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is APIGatewayProxyEvent {\n const partialEventV1 = event as Partial<APIGatewayProxyEvent> & {\n version?: '2.0';\n };\n\n return !!(\n partialEventV1?.requestContext &&\n partialEventV1.version !== '2.0' &&\n partialEventV1.headers &&\n partialEventV1.multiValueHeaders &&\n ((partialEventV1.queryStringParameters === null &&\n partialEventV1.multiValueQueryStringParameters === null) ||\n (partialEventV1.queryStringParameters &&\n partialEventV1.multiValueQueryStringParameters))\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: APIGatewayProxyEvent): AdapterRequest {\n const method = event.httpMethod;\n const headers = { ...event.headers };\n\n for (const multiValueHeaderKey of Object.keys(\n event.multiValueHeaders || {},\n )) {\n const headerValue = event.multiValueHeaders[multiValueHeaderKey];\n\n // event.headers by default only stick with first value if they see multiple headers\n // the other values will only appear on multiValueHeaderKey, in this case\n // we look for headers with more than 1 length which is the wrong values on event.headers\n // https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html\n if (!headerValue || headerValue?.length <= 1) continue;\n\n headers[multiValueHeaderKey] = headerValue.join(',');\n }\n\n const path = this.getPathFromEvent(event);\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 // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n headers['content-length'] = contentLength + '';\n }\n\n const remoteAddress = event.requestContext.identity.sourceIp;\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 response,\n }: GetResponseAdapterProps<APIGatewayProxyEvent>): APIGatewayProxyResult {\n const multiValueHeaders = getMultiValueHeadersMap(responseHeaders);\n\n const transferEncodingHeader = multiValueHeaders['transfer-encoding'];\n const hasTransferEncodingChunked = transferEncodingHeader?.some(value =>\n value.includes('chunked'),\n );\n\n if (hasTransferEncodingChunked) {\n throw new Error(\n 'chunked encoding in headers is not supported by API Gateway V1',\n );\n }\n\n if (response?.chunkedEncoding) {\n throw new Error(\n 'chunked encoding in response is not supported by API Gateway V1',\n );\n }\n\n return {\n statusCode,\n body,\n multiValueHeaders,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<APIGatewayProxyEvent, APIGatewayProxyResult>): 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: APIGatewayProxyEvent): string {\n const path = this.stripPathFn(event.path);\n const queryParams = event.multiValueQueryStringParameters || {};\n\n if (event.queryStringParameters) {\n for (const queryStringKey of Object.keys(event.queryStringParameters)) {\n const queryStringValue = event.queryStringParameters[queryStringKey];\n\n if (queryStringValue === undefined) continue;\n\n if (!Array.isArray(queryParams[queryStringKey]))\n queryParams[queryStringKey] = [];\n\n if (queryParams[queryStringKey]!.includes(queryStringValue)) continue;\n\n queryParams[queryStringKey]!.push(queryStringValue);\n }\n }\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,+BAAA,CAAA,EAAA,SAAA,+BAAA,CAAA,oBAAA,IAAA,mBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,8BAAA,EAUA,IAMO,YAAA,QAAA,YAAA,EAqCA,MAAM,mBAGb,CAQE,YAA+B,QAA+B,QAA/B,KAAA,QAAA,QAC7B,KAAK,eAAc,YAAA,qBAAmB,QAAK,UAAL,eAAc,aAAa,CACnE,CAkBO,gBAAyB,CAC9B,OAAO,oBAAoB,IAC7B,CAKO,UAAU,MAA+C,CAC9D,MAAM,eAAiB,MAIvB,MAAO,CAAC,EACN,qCAAgB,gBAChB,eAAe,UAAY,OAC3B,eAAe,SACf,eAAe,oBACb,eAAe,wBAA0B,MACzC,eAAe,kCAAoC,MAClD,eAAe,uBACd,eAAe,iCAEvB,CAKO,WAAW,MAA6C,CAC7D,MAAM,OAAS,MAAM,WACf,QAAU,CAAE,GAAG,MAAM,OAAQ,EAEnC,UAAW,uBAAuB,OAAO,KACvC,MAAM,mBAAqB,CAAC,CAAA,EAC3B,CACK,MAAA,YAAc,MAAM,kBAAkB,mBAAmB,EAM3D,CAAC,cAAe,qCAAa,SAAU,IAE3C,QAAQ,mBAAmB,EAAI,YAAY,KAAK,GAAG,GAG/C,MAAA,KAAO,KAAK,iBAAiB,KAAK,EAEpC,IAAA,KAEJ,GAAI,MAAM,KAAM,CACR,KAAA,CAAC,WAAY,aAAa,KAAI,YAAA,sBAClC,MAAM,KACN,MAAM,eAAA,EAGD,KAAA,WAEC,QAAA,gBAAgB,EAAI,cAAgB,GAGxC,MAAA,cAAgB,MAAM,eAAe,SAAS,SAE7C,MAAA,CACL,OACA,QACA,KACA,cACA,IAAA,CAEJ,CAKO,YAAY,CACjB,QAAS,gBACT,KACA,gBACA,WACA,QAAA,EACuE,CACjE,MAAA,qBAAoB,qCAAwB,eAAe,EAE3D,uBAAyB,kBAAkB,mBAAmB,EAKpE,GAJmC,2DAAwB,KAAK,OAC9D,MAAM,SAAS,SAAS,GAIxB,MAAM,IAAI,MACR,gEAAA,EAIJ,GAAI,yBAAU,gBACZ,MAAM,IAAI,MACR,iEAAA,EAIG,MAAA,CACL,WACA,KACA,kBACA,eAAA,CAEJ,CAKO,uBAAuB,CAC5B,MACA,kBACA,kBACA,MACA,GAAA,EACkE,CAC5D,MAAA,KAAO,kBAAoB,MAAM,MAAQ,GACzC,cAAgB,KAAK,YAAY,CACrC,MACA,WAAY,IACZ,KAAM,MAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,GAAA,CACD,EAED,kBAAkB,QAAQ,aAAa,CACzC,CAWU,iBAAiB,MAAqC,CAC9D,MAAM,KAAO,KAAK,YAAY,MAAM,IAAI,EAClC,YAAc,MAAM,iCAAmC,GAE7D,GAAI,MAAM,sBACR,UAAW,kBAAkB,OAAO,KAAK,MAAM,qBAAqB,EAAG,CAC/D,MAAA,iBAAmB,MAAM,sBAAsB,cAAc,EAE/D,mBAAqB,SAEpB,MAAM,QAAQ,YAAY,cAAc,CAAC,IAChC,YAAA,cAAc,EAAI,IAE5B,aAAY,cAAc,EAAG,SAAS,gBAAgB,GAE9C,YAAA,cAAc,EAAG,KAAK,gBAAgB,GAI/C,SAAA,YAAA,8BAA6B,KAAM,WAAW,CACvD,CAGF"}
|