@h4ad/serverless-adapter 2.3.1 → 2.5.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 +22 -243
- package/lib/@types/binary-settings.d.ts +24 -6
- package/lib/@types/binary-settings.d.ts.map +1 -0
- package/lib/@types/binary-settings.js +1 -0
- package/lib/@types/binary-settings.js.map +1 -0
- package/lib/@types/headers.d.ts +16 -3
- package/lib/@types/headers.d.ts.map +1 -0
- package/lib/@types/headers.js +1 -0
- package/lib/@types/headers.js.map +1 -0
- package/lib/@types/helpers.d.ts +4 -0
- package/lib/@types/helpers.d.ts.map +1 -0
- package/lib/@types/helpers.js +1 -0
- package/lib/@types/helpers.js.map +1 -0
- package/lib/@types/huawei/huawei-api-gateway-event.d.ts +62 -0
- package/lib/@types/huawei/huawei-api-gateway-event.d.ts.map +1 -0
- package/lib/@types/huawei/huawei-api-gateway-event.js +2 -0
- package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -0
- package/lib/@types/huawei/huawei-api-gateway-response.d.ts +20 -0
- package/lib/@types/huawei/huawei-api-gateway-response.d.ts.map +1 -0
- package/lib/@types/huawei/huawei-api-gateway-response.js +2 -0
- package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -0
- package/lib/@types/huawei/huawei-context.d.ts +157 -0
- package/lib/@types/huawei/huawei-context.d.ts.map +1 -0
- package/lib/@types/huawei/huawei-context.js +1 -0
- package/lib/@types/huawei/huawei-context.js.map +1 -0
- 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 +6 -1
- package/lib/@types/huawei/index.js.map +1 -0
- package/lib/@types/index.d.ts +2 -1
- package/lib/@types/index.d.ts.map +1 -0
- package/lib/@types/index.js +7 -2
- package/lib/@types/index.js.map +1 -0
- package/lib/adapters/aws/alb.adapter.d.ts +18 -10
- package/lib/adapters/aws/alb.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/alb.adapter.js +14 -9
- package/lib/adapters/aws/alb.adapter.js.map +1 -0
- package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +20 -12
- package/lib/adapters/aws/api-gateway-v1.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/api-gateway-v1.adapter.js +19 -14
- package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -0
- package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +19 -11
- package/lib/adapters/aws/api-gateway-v2.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/api-gateway-v2.adapter.js +15 -10
- package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -0
- package/lib/adapters/aws/dynamodb.adapter.d.ts +18 -10
- package/lib/adapters/aws/dynamodb.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/dynamodb.adapter.js +13 -8
- package/lib/adapters/aws/dynamodb.adapter.js.map +1 -0
- package/lib/adapters/aws/event-bridge.adapter.d.ts +21 -10
- package/lib/adapters/aws/event-bridge.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/event-bridge.adapter.js +13 -8
- package/lib/adapters/aws/event-bridge.adapter.js.map +1 -0
- package/lib/adapters/aws/index.d.ts +1 -0
- package/lib/adapters/aws/index.d.ts.map +1 -0
- package/lib/adapters/aws/index.js +6 -1
- package/lib/adapters/aws/index.js.map +1 -0
- package/lib/adapters/aws/lambda-edge.adapter.d.ts +76 -46
- package/lib/adapters/aws/lambda-edge.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/lambda-edge.adapter.js +40 -24
- package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -0
- package/lib/adapters/aws/sns.adapter.d.ts +18 -10
- package/lib/adapters/aws/sns.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/sns.adapter.js +13 -8
- package/lib/adapters/aws/sns.adapter.js.map +1 -0
- package/lib/adapters/aws/sqs.adapter.d.ts +18 -10
- package/lib/adapters/aws/sqs.adapter.d.ts.map +1 -0
- package/lib/adapters/aws/sqs.adapter.js +13 -8
- package/lib/adapters/aws/sqs.adapter.js.map +1 -0
- package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +81 -0
- package/lib/adapters/azure/http-trigger-v4.adapter.d.ts.map +1 -0
- package/lib/adapters/azure/http-trigger-v4.adapter.js +191 -0
- package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -0
- package/lib/adapters/azure/index.d.ts +2 -0
- package/lib/adapters/azure/index.d.ts.map +1 -0
- package/lib/adapters/azure/index.js +18 -0
- package/lib/adapters/azure/index.js.map +1 -0
- package/lib/adapters/dummy/dummy.adapter.d.ts +9 -5
- package/lib/adapters/dummy/dummy.adapter.d.ts.map +1 -0
- package/lib/adapters/dummy/dummy.adapter.js +9 -5
- package/lib/adapters/dummy/dummy.adapter.js.map +1 -0
- 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 +6 -1
- package/lib/adapters/dummy/index.js.map +1 -0
- package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +19 -12
- package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts.map +1 -0
- package/lib/adapters/huawei/huawei-api-gateway.adapter.js +14 -9
- package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -0
- 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 +6 -1
- package/lib/adapters/huawei/index.js.map +1 -0
- package/lib/contracts/adapter.contract.d.ts +30 -30
- package/lib/contracts/adapter.contract.d.ts.map +1 -0
- package/lib/contracts/adapter.contract.js +2 -0
- package/lib/contracts/adapter.contract.js.map +1 -0
- package/lib/contracts/framework.contract.d.ts +7 -3
- package/lib/contracts/framework.contract.d.ts.map +1 -0
- package/lib/contracts/framework.contract.js +1 -0
- package/lib/contracts/framework.contract.js.map +1 -0
- package/lib/contracts/handler.contract.d.ts +7 -0
- package/lib/contracts/handler.contract.d.ts.map +1 -0
- package/lib/contracts/handler.contract.js +1 -0
- package/lib/contracts/handler.contract.js.map +1 -0
- package/lib/contracts/index.d.ts +1 -0
- package/lib/contracts/index.d.ts.map +1 -0
- package/lib/contracts/index.js +6 -1
- package/lib/contracts/index.js.map +1 -0
- package/lib/contracts/resolver.contract.d.ts +17 -4
- package/lib/contracts/resolver.contract.d.ts.map +1 -0
- package/lib/contracts/resolver.contract.js +1 -0
- package/lib/contracts/resolver.contract.js.map +1 -0
- package/lib/core/base-handler.d.ts +9 -5
- package/lib/core/base-handler.d.ts.map +1 -0
- package/lib/core/base-handler.js +9 -5
- package/lib/core/base-handler.js.map +1 -0
- package/lib/core/constants.d.ts +27 -0
- package/lib/core/constants.d.ts.map +1 -0
- package/lib/core/constants.js +21 -0
- package/lib/core/constants.js.map +1 -0
- package/lib/core/current-invoke.d.ts +17 -6
- package/lib/core/current-invoke.d.ts.map +1 -0
- package/lib/core/current-invoke.js +12 -4
- package/lib/core/current-invoke.js.map +1 -0
- package/lib/core/event-body.d.ts +9 -3
- package/lib/core/event-body.d.ts.map +1 -0
- package/lib/core/event-body.js +9 -3
- package/lib/core/event-body.js.map +1 -0
- package/lib/core/headers.d.ts +17 -6
- package/lib/core/headers.d.ts.map +1 -0
- package/lib/core/headers.js +17 -6
- package/lib/core/headers.js.map +1 -0
- package/lib/core/index.d.ts +1 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/index.js +6 -1
- package/lib/core/index.js.map +1 -0
- package/lib/core/is-binary.d.ts +29 -11
- package/lib/core/is-binary.d.ts.map +1 -0
- package/lib/core/is-binary.js +29 -11
- package/lib/core/is-binary.js.map +1 -0
- package/lib/core/logger.d.ts +31 -5
- package/lib/core/logger.d.ts.map +1 -0
- package/lib/core/logger.js +29 -4
- package/lib/core/logger.js.map +1 -0
- package/lib/core/no-op.d.ts +4 -0
- package/lib/core/no-op.d.ts.map +1 -0
- package/lib/core/no-op.js +4 -0
- package/lib/core/no-op.js.map +1 -0
- package/lib/core/optional.d.ts +8 -3
- package/lib/core/optional.d.ts.map +1 -0
- package/lib/core/optional.js +8 -3
- package/lib/core/optional.js.map +1 -0
- package/lib/core/path.d.ts +14 -5
- package/lib/core/path.d.ts.map +1 -0
- package/lib/core/path.js +14 -5
- package/lib/core/path.js.map +1 -0
- package/lib/core/stream.d.ts +5 -1
- package/lib/core/stream.d.ts.map +1 -0
- package/lib/core/stream.js +6 -2
- package/lib/core/stream.js.map +1 -0
- package/lib/frameworks/express/express.framework.d.ts +5 -1
- package/lib/frameworks/express/express.framework.d.ts.map +1 -0
- package/lib/frameworks/express/express.framework.js +5 -1
- package/lib/frameworks/express/express.framework.js.map +1 -0
- 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 +6 -1
- package/lib/frameworks/express/index.js.map +1 -0
- package/lib/frameworks/fastify/fastify.framework.d.ts +5 -1
- package/lib/frameworks/fastify/fastify.framework.d.ts.map +1 -0
- package/lib/frameworks/fastify/fastify.framework.js +5 -1
- package/lib/frameworks/fastify/fastify.framework.js.map +1 -0
- 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 +6 -1
- package/lib/frameworks/fastify/index.js.map +1 -0
- package/lib/frameworks/hapi/hapi.framework.d.ts +5 -1
- package/lib/frameworks/hapi/hapi.framework.d.ts.map +1 -0
- package/lib/frameworks/hapi/hapi.framework.js +5 -1
- package/lib/frameworks/hapi/hapi.framework.js.map +1 -0
- 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 +6 -1
- package/lib/frameworks/hapi/index.js.map +1 -0
- 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 +6 -1
- package/lib/frameworks/koa/index.js.map +1 -0
- package/lib/frameworks/koa/koa.framework.d.ts +5 -1
- package/lib/frameworks/koa/koa.framework.d.ts.map +1 -0
- package/lib/frameworks/koa/koa.framework.js +5 -1
- package/lib/frameworks/koa/koa.framework.js.map +1 -0
- 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 +6 -1
- package/lib/frameworks/lazy/index.js.map +1 -0
- package/lib/frameworks/lazy/lazy.framework.d.ts +7 -2
- package/lib/frameworks/lazy/lazy.framework.d.ts.map +1 -0
- package/lib/frameworks/lazy/lazy.framework.js +7 -2
- package/lib/frameworks/lazy/lazy.framework.js.map +1 -0
- package/lib/frameworks/trpc/index.d.ts +2 -0
- package/lib/frameworks/trpc/index.d.ts.map +1 -0
- package/lib/frameworks/trpc/index.js +18 -0
- package/lib/frameworks/trpc/index.js.map +1 -0
- package/lib/frameworks/trpc/trpc.framework.d.ts +152 -0
- package/lib/frameworks/trpc/trpc.framework.d.ts.map +1 -0
- package/lib/frameworks/trpc/trpc.framework.js +137 -0
- package/lib/frameworks/trpc/trpc.framework.js.map +1 -0
- package/lib/handlers/azure/azure.handler.d.ts +45 -0
- package/lib/handlers/azure/azure.handler.d.ts.map +1 -0
- package/lib/handlers/azure/azure.handler.js +63 -0
- package/lib/handlers/azure/azure.handler.js.map +1 -0
- package/lib/handlers/azure/index.d.ts +2 -0
- package/lib/handlers/azure/index.d.ts.map +1 -0
- package/lib/handlers/azure/index.js +18 -0
- package/lib/handlers/azure/index.js.map +1 -0
- package/lib/handlers/default/default.handler.d.ts +36 -32
- package/lib/handlers/default/default.handler.d.ts.map +1 -0
- package/lib/handlers/default/default.handler.js +48 -52
- package/lib/handlers/default/default.handler.js.map +1 -0
- 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 +6 -1
- package/lib/handlers/default/index.js.map +1 -0
- package/lib/handlers/huawei/http-huawei.handler.d.ts +14 -4
- package/lib/handlers/huawei/http-huawei.handler.d.ts.map +1 -0
- package/lib/handlers/huawei/http-huawei.handler.js +15 -4
- package/lib/handlers/huawei/http-huawei.handler.js.map +1 -0
- 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 +6 -1
- package/lib/handlers/huawei/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -0
- package/lib/network/index.d.ts +1 -0
- package/lib/network/index.d.ts.map +1 -0
- package/lib/network/index.js +6 -1
- package/lib/network/index.js.map +1 -0
- package/lib/network/request.d.ts +28 -0
- package/lib/network/request.d.ts.map +1 -0
- package/lib/network/request.js +7 -0
- package/lib/network/request.js.map +1 -0
- package/lib/network/response.d.ts +18 -1
- package/lib/network/response.d.ts.map +1 -0
- package/lib/network/response.js +9 -1
- package/lib/network/response.js.map +1 -0
- package/lib/resolvers/aws-context/aws-context.resolver.d.ts +7 -9
- package/lib/resolvers/aws-context/aws-context.resolver.d.ts.map +1 -0
- package/lib/resolvers/aws-context/aws-context.resolver.js +7 -9
- package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -0
- 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 +6 -1
- package/lib/resolvers/aws-context/index.js.map +1 -0
- package/lib/resolvers/callback/callback.resolver.d.ts +9 -2
- package/lib/resolvers/callback/callback.resolver.d.ts.map +1 -0
- package/lib/resolvers/callback/callback.resolver.js +6 -2
- package/lib/resolvers/callback/callback.resolver.js.map +1 -0
- 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 +6 -1
- package/lib/resolvers/callback/index.js.map +1 -0
- package/lib/resolvers/dummy/dummy.resolver.d.ts +5 -1
- package/lib/resolvers/dummy/dummy.resolver.d.ts.map +1 -0
- package/lib/resolvers/dummy/dummy.resolver.js +5 -1
- package/lib/resolvers/dummy/dummy.resolver.js.map +1 -0
- 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 +6 -1
- package/lib/resolvers/dummy/index.js.map +1 -0
- 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 +6 -1
- package/lib/resolvers/promise/index.js.map +1 -0
- package/lib/resolvers/promise/promise.resolver.d.ts +5 -1
- package/lib/resolvers/promise/promise.resolver.d.ts.map +1 -0
- package/lib/resolvers/promise/promise.resolver.js +5 -1
- package/lib/resolvers/promise/promise.resolver.js.map +1 -0
- package/lib/serverless-adapter.d.ts +17 -12
- package/lib/serverless-adapter.d.ts.map +1 -0
- package/lib/serverless-adapter.js +17 -12
- package/lib/serverless-adapter.js.map +1 -0
- package/package.json +32 -4
- package/lib/@types/proxy-params.d.ts +0 -8
- package/lib/@types/proxy-params.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/lazy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
|
|
@@ -5,7 +5,8 @@ import { ILogger } from '../../core';
|
|
|
5
5
|
/**
|
|
6
6
|
* The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.
|
|
7
7
|
*
|
|
8
|
-
* @example
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
9
10
|
* import express from 'express';
|
|
10
11
|
* import { ServerlessAdapter } from '@h4ad/serverless-adapter';
|
|
11
12
|
* import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
|
|
@@ -27,6 +28,9 @@ import { ILogger } from '../../core';
|
|
|
27
28
|
* // set other configurations and then build
|
|
28
29
|
* .build();
|
|
29
30
|
* ```
|
|
31
|
+
*
|
|
32
|
+
* @breadcrumb Frameworks / LazyFramework
|
|
33
|
+
* @public
|
|
30
34
|
*/
|
|
31
35
|
export declare class LazyFramework<TApp> implements FrameworkContract<null> {
|
|
32
36
|
protected readonly framework: FrameworkContract<TApp>;
|
|
@@ -45,7 +49,8 @@ export declare class LazyFramework<TApp> implements FrameworkContract<null> {
|
|
|
45
49
|
*/
|
|
46
50
|
protected readonly delayedFactory: Promise<void>;
|
|
47
51
|
/**
|
|
48
|
-
* @inheritDoc
|
|
52
|
+
* {@inheritDoc}
|
|
49
53
|
*/
|
|
50
54
|
sendRequest(app: null, request: IncomingMessage, response: ServerResponse): void;
|
|
51
55
|
}
|
|
56
|
+
//# sourceMappingURL=lazy.framework.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.framework.d.ts","sourceRoot":"","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAuB,MAAM,YAAY,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAa,CAAC,IAAI,CAAE,YAAW,iBAAiB,CAAC,IAAI,CAAC;IAO/D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IANpC;;OAEG;gBAEkB,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,GAAE,OAA+B;IAqB5D;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjD;;OAEG;IACI,WAAW,CAChB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,IAAI;CAmBR"}
|
|
@@ -7,7 +7,8 @@ const core_1 = require("../../core");
|
|
|
7
7
|
/**
|
|
8
8
|
* The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.
|
|
9
9
|
*
|
|
10
|
-
* @example
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
11
12
|
* import express from 'express';
|
|
12
13
|
* import { ServerlessAdapter } from '@h4ad/serverless-adapter';
|
|
13
14
|
* import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
|
|
@@ -29,6 +30,9 @@ const core_1 = require("../../core");
|
|
|
29
30
|
* // set other configurations and then build
|
|
30
31
|
* .build();
|
|
31
32
|
* ```
|
|
33
|
+
*
|
|
34
|
+
* @breadcrumb Frameworks / LazyFramework
|
|
35
|
+
* @public
|
|
32
36
|
*/
|
|
33
37
|
class LazyFramework {
|
|
34
38
|
//#region Constructor
|
|
@@ -54,7 +58,7 @@ class LazyFramework {
|
|
|
54
58
|
//#endregion
|
|
55
59
|
//#region Public Methods
|
|
56
60
|
/**
|
|
57
|
-
* @inheritDoc
|
|
61
|
+
* {@inheritDoc}
|
|
58
62
|
*/
|
|
59
63
|
sendRequest(app, request, response) {
|
|
60
64
|
if (this.cachedApp)
|
|
@@ -68,3 +72,4 @@ class LazyFramework {
|
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
exports.LazyFramework = LazyFramework;
|
|
75
|
+
//# sourceMappingURL=lazy.framework.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.framework.js","sourceRoot":"","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"names":[],"mappings":";AAAA,iBAAiB;;;AAIjB,qCAA0D;AAE1D,YAAY;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,aAAa;IACxB,qBAAqB;IAErB;;OAEG;IACH,YACqB,SAAkC,EAClC,OAA4B,EAC5B,SAAkB,IAAA,0BAAmB,GAAE;QAFvC,cAAS,GAAT,SAAS,CAAyB;QAClC,YAAO,GAAP,OAAO,CAAqB;QAC5B,WAAM,GAAN,MAAM,CAAiC;QAE1D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE;aACpC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;aACrB,IAAI,CAAC,GAAG,CAAC,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YACtB,qDAAqD;YACrD,4CAA4C;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sFAAsF,CACvF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAgBD,YAAY;IAEZ,wBAAwB;IAExB;;OAEG;IACI,WAAW,CAChB,GAAS,EACT,OAAwB,EACxB,QAAwB;QAExB,IAAI,IAAI,CAAC,SAAS;YAChB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,OAAO,QAAQ,CAAC,IAAI,CAClB,OAAO,EACP,IAAI,KAAK,CACP,8HAA8H,CAC/H,CACF,CAAC;aACH;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;CAGF;AAtED,sCAsEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/trpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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("./trpc.framework"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/trpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
import type { AnyRouter, DataTransformer } from '@trpc/server';
|
|
4
|
+
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from '@trpc/server/adapters/node-http';
|
|
5
|
+
import { SingleValueHeaders } from '../../@types';
|
|
6
|
+
import { FrameworkContract } from '../../contracts';
|
|
7
|
+
/**
|
|
8
|
+
* The transformer that is responsible to transform buffer's input to javascript objects
|
|
9
|
+
*
|
|
10
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare class BufferToJSObjectTransformer implements DataTransformer {
|
|
14
|
+
/**
|
|
15
|
+
* Deserialize unknown values to javascript objects
|
|
16
|
+
*
|
|
17
|
+
* @param value - The value to be deserialized
|
|
18
|
+
*/
|
|
19
|
+
deserialize(value?: unknown): any;
|
|
20
|
+
/**
|
|
21
|
+
* The value to be serialized, do nothing because tRPC can handle.
|
|
22
|
+
*
|
|
23
|
+
* @param value - The value to be serialized
|
|
24
|
+
*/
|
|
25
|
+
serialize(value: any): any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The context created by this library that allows getting some information from the request and setting the status and header of the response.
|
|
29
|
+
*
|
|
30
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export interface TrpcAdapterBaseContext {
|
|
34
|
+
/**
|
|
35
|
+
* The request object that will be forward to your app
|
|
36
|
+
*/
|
|
37
|
+
request: IncomingMessage;
|
|
38
|
+
/**
|
|
39
|
+
* The response object that will be forward to your app to output the response
|
|
40
|
+
*/
|
|
41
|
+
response: ServerResponse;
|
|
42
|
+
/**
|
|
43
|
+
* The method to set response status.
|
|
44
|
+
*
|
|
45
|
+
* @param statusCode - The response status that you want
|
|
46
|
+
*/
|
|
47
|
+
setStatus(statusCode: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* The method to set some header in the response
|
|
50
|
+
*
|
|
51
|
+
* @param name - The name of the header
|
|
52
|
+
* @param value - The value to be set in the header
|
|
53
|
+
*/
|
|
54
|
+
setHeader(name: string, value: number | string): void;
|
|
55
|
+
/**
|
|
56
|
+
* The method to remove some header from the response
|
|
57
|
+
*
|
|
58
|
+
* @param name - The name of the header
|
|
59
|
+
*/
|
|
60
|
+
removeHeader(name: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* The method to return the value of some header from the request
|
|
63
|
+
*
|
|
64
|
+
* @param name - The name of the header
|
|
65
|
+
*/
|
|
66
|
+
getHeader(name: string): string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* The method to return the request headers
|
|
69
|
+
*/
|
|
70
|
+
getHeaders(): SingleValueHeaders;
|
|
71
|
+
/**
|
|
72
|
+
* The method to return user's address
|
|
73
|
+
*/
|
|
74
|
+
getIp(): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* The method to return the URL called
|
|
77
|
+
*/
|
|
78
|
+
getUrl(): string | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* The method to return the HTTP Method in the request
|
|
81
|
+
*/
|
|
82
|
+
getMethod(): string | undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.
|
|
86
|
+
*
|
|
87
|
+
* This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.
|
|
88
|
+
* So to make the type work, just send the properties you've added inside {@link TContext}.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* type MyCustomContext = { user: { name: string } };
|
|
93
|
+
* type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
97
|
+
* @public
|
|
98
|
+
*/
|
|
99
|
+
export declare type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;
|
|
100
|
+
/**
|
|
101
|
+
* The options to customize the {@link TrpcFramework}
|
|
102
|
+
*
|
|
103
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
106
|
+
export declare type TrpcFrameworkOptions<TContext> = Omit<NodeHTTPHandlerOptions<AnyRouter<TContext>, IncomingMessage, ServerResponse>, 'router' | 'createContext'> & {
|
|
107
|
+
createContext?: (opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>) => Omit<TContext, keyof TrpcAdapterBaseContext> | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* The framework that forwards requests to TRPC handler
|
|
111
|
+
*
|
|
112
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
export declare class TrpcFramework<TContext extends TrpcAdapterBaseContext> implements FrameworkContract<AnyRouter<TContext>> {
|
|
116
|
+
protected readonly options?: TrpcFrameworkOptions<TContext> | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* Default constructor
|
|
119
|
+
*/
|
|
120
|
+
constructor(options?: TrpcFrameworkOptions<TContext> | undefined);
|
|
121
|
+
/**
|
|
122
|
+
* {@inheritDoc}
|
|
123
|
+
*/
|
|
124
|
+
sendRequest(app: AnyRouter<TContext>, request: IncomingMessage, response: ServerResponse): void;
|
|
125
|
+
/**
|
|
126
|
+
* Get safe url that can be used inside Trpc.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const url = getSafeUrlForTrpc('/users?input=hello');
|
|
131
|
+
* console.log(url); // users
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* @param request - The request object that will be forward to your app
|
|
135
|
+
*/
|
|
136
|
+
protected getSafeUrlForTrpc(request: IncomingMessage): string;
|
|
137
|
+
/**
|
|
138
|
+
* Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.
|
|
139
|
+
*
|
|
140
|
+
* @param createContextOptions - The options sent by trpc to create the context
|
|
141
|
+
*/
|
|
142
|
+
protected mergeDefaultContextWithOptionsContext(createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext | Promise<TContext>;
|
|
143
|
+
/**
|
|
144
|
+
* Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge
|
|
145
|
+
* with the {@link TrpcAdapterContext} generated by the library.
|
|
146
|
+
*
|
|
147
|
+
* @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}
|
|
148
|
+
* @param createContextOptions - The options sent by trpc to create the context
|
|
149
|
+
*/
|
|
150
|
+
protected wrapResolvedContextWithDefaultContext(resolvedContext: TContext, createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=trpc.framework.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trpc.framework.d.ts","sourceRoot":"","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//#region
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TrpcFramework = exports.BufferToJSObjectTransformer = void 0;
|
|
5
|
+
const node_http_1 = require("@trpc/server/adapters/node-http");
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
//#endregion
|
|
8
|
+
/**
|
|
9
|
+
* The transformer that is responsible to transform buffer's input to javascript objects
|
|
10
|
+
*
|
|
11
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class BufferToJSObjectTransformer {
|
|
15
|
+
/**
|
|
16
|
+
* Deserialize unknown values to javascript objects
|
|
17
|
+
*
|
|
18
|
+
* @param value - The value to be deserialized
|
|
19
|
+
*/
|
|
20
|
+
deserialize(value) {
|
|
21
|
+
if (value instanceof Buffer)
|
|
22
|
+
return JSON.parse(value.toString('utf-8'));
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The value to be serialized, do nothing because tRPC can handle.
|
|
27
|
+
*
|
|
28
|
+
* @param value - The value to be serialized
|
|
29
|
+
*/
|
|
30
|
+
serialize(value) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.BufferToJSObjectTransformer = BufferToJSObjectTransformer;
|
|
35
|
+
/**
|
|
36
|
+
* The framework that forwards requests to TRPC handler
|
|
37
|
+
*
|
|
38
|
+
* @breadcrumb Frameworks / TrpcFramework
|
|
39
|
+
* @public
|
|
40
|
+
*/
|
|
41
|
+
class TrpcFramework {
|
|
42
|
+
//#region Constructor
|
|
43
|
+
/**
|
|
44
|
+
* Default constructor
|
|
45
|
+
*/
|
|
46
|
+
constructor(options) {
|
|
47
|
+
this.options = options;
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region Public Methods
|
|
51
|
+
/**
|
|
52
|
+
* {@inheritDoc}
|
|
53
|
+
*/
|
|
54
|
+
sendRequest(app, request, response) {
|
|
55
|
+
const endpoint = this.getSafeUrlForTrpc(request);
|
|
56
|
+
(0, node_http_1.nodeHTTPRequestHandler)({
|
|
57
|
+
req: request,
|
|
58
|
+
res: response,
|
|
59
|
+
path: endpoint,
|
|
60
|
+
router: app,
|
|
61
|
+
...this.options,
|
|
62
|
+
createContext: createContextOptions => this.mergeDefaultContextWithOptionsContext(createContextOptions),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region Protected Methods
|
|
67
|
+
/**
|
|
68
|
+
* Get safe url that can be used inside Trpc.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const url = getSafeUrlForTrpc('/users?input=hello');
|
|
73
|
+
* console.log(url); // users
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @param request - The request object that will be forward to your app
|
|
77
|
+
*/
|
|
78
|
+
getSafeUrlForTrpc(request) {
|
|
79
|
+
let url = request.url;
|
|
80
|
+
if (url.startsWith('/'))
|
|
81
|
+
url = url.slice(1);
|
|
82
|
+
if (url.includes('?'))
|
|
83
|
+
url = url.split('?')[0];
|
|
84
|
+
return url;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.
|
|
88
|
+
*
|
|
89
|
+
* @param createContextOptions - The options sent by trpc to create the context
|
|
90
|
+
*/
|
|
91
|
+
mergeDefaultContextWithOptionsContext(createContextOptions) {
|
|
92
|
+
var _a;
|
|
93
|
+
const createContextFromOptions = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.createContext, () => undefined);
|
|
94
|
+
const resolvedContext = createContextFromOptions(createContextOptions);
|
|
95
|
+
if (resolvedContext && resolvedContext.then) {
|
|
96
|
+
return resolvedContext.then(context => this.wrapResolvedContextWithDefaultContext(context, createContextOptions));
|
|
97
|
+
}
|
|
98
|
+
return this.wrapResolvedContextWithDefaultContext(resolvedContext, createContextOptions);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge
|
|
102
|
+
* with the {@link TrpcAdapterContext} generated by the library.
|
|
103
|
+
*
|
|
104
|
+
* @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}
|
|
105
|
+
* @param createContextOptions - The options sent by trpc to create the context
|
|
106
|
+
*/
|
|
107
|
+
wrapResolvedContextWithDefaultContext(resolvedContext, createContextOptions) {
|
|
108
|
+
const request = createContextOptions.req;
|
|
109
|
+
const response = createContextOptions.res;
|
|
110
|
+
return {
|
|
111
|
+
...resolvedContext,
|
|
112
|
+
request,
|
|
113
|
+
response,
|
|
114
|
+
getUrl: () => request.url,
|
|
115
|
+
getMethod: () => request.method,
|
|
116
|
+
getHeaders: () => (0, core_1.getFlattenedHeadersMap)(request.headers, ',', true),
|
|
117
|
+
setHeader: (header, value) => {
|
|
118
|
+
response.setHeader(header, value);
|
|
119
|
+
},
|
|
120
|
+
removeHeader: header => {
|
|
121
|
+
response.removeHeader(header);
|
|
122
|
+
},
|
|
123
|
+
getHeader: (header) => {
|
|
124
|
+
return (0, core_1.getFlattenedHeadersMap)(request.headers, ',', true)[header.toLowerCase()];
|
|
125
|
+
},
|
|
126
|
+
setStatus: (statusCode) => {
|
|
127
|
+
response.statusCode = statusCode;
|
|
128
|
+
// force undefined to get default message for the status code
|
|
129
|
+
// ref: https://nodejs.org/dist/latest-v16.x/docs/api/http.html#responsestatusmessage
|
|
130
|
+
response.statusMessage = undefined;
|
|
131
|
+
},
|
|
132
|
+
getIp: () => request.connection.remoteAddress,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.TrpcFramework = TrpcFramework;
|
|
137
|
+
//# sourceMappingURL=trpc.framework.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trpc.framework.js","sourceRoot":"","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Context } from '@azure/functions';
|
|
2
|
+
import { BinarySettings } from '../../@types';
|
|
3
|
+
import { AdapterContract, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
|
|
4
|
+
import { ILogger } from '../../core';
|
|
5
|
+
import { DefaultHandler } from '../default';
|
|
6
|
+
/**
|
|
7
|
+
* The options to customize {@link AzureHandler}
|
|
8
|
+
*
|
|
9
|
+
* @breadcrumb Handlers / AzureHandler
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface AzureHandlerOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Indicates to use the context log instead console.log when logger is internal (created by the library)
|
|
15
|
+
*
|
|
16
|
+
* @defaultValue true
|
|
17
|
+
*/
|
|
18
|
+
useContextLogWhenInternalLogger: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The class that implements a serverless handler for Azure Function.
|
|
22
|
+
*
|
|
23
|
+
* When you don't specify a custom logger, the {@link Context} logger is used instead.
|
|
24
|
+
*
|
|
25
|
+
* @breadcrumb Handlers / AzureHandler
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export declare class AzureHandler<TApp, TEvent, TCallback, TResponse, TReturn> extends DefaultHandler<TApp, TEvent, Context, TCallback, TResponse, TReturn> {
|
|
29
|
+
protected readonly options?: AzureHandlerOptions | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Default Constructor
|
|
32
|
+
*/
|
|
33
|
+
constructor(options?: AzureHandlerOptions | undefined);
|
|
34
|
+
/**
|
|
35
|
+
* {@inheritDoc}
|
|
36
|
+
*/
|
|
37
|
+
getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, Context, TResponse>[], resolverFactory: ResolverContract<TEvent, Context, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
|
|
38
|
+
/**
|
|
39
|
+
* Get the {@link ILogger} instance from logger of the context
|
|
40
|
+
*
|
|
41
|
+
* @param context - The Azure Context
|
|
42
|
+
*/
|
|
43
|
+
protected createLoggerFromContext(context: Context): ILogger;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=azure.handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/azure/azure.handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAA2C,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY,CACvB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,CACP,SAAQ,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAMhE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAHvC;;OAEG;gBAC4B,OAAO,CAAC,iCAAqB;IAQ5D;;OAEG;IACI,UAAU,CACf,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EACvD,eAAe,EAAE,gBAAgB,CAC/B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,CACR,EACD,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC;IAkC7B;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAW7D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/unbound-method */
|
|
3
|
+
//#region Imports
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.AzureHandler = void 0;
|
|
6
|
+
const core_1 = require("../../core");
|
|
7
|
+
const default_1 = require("../default");
|
|
8
|
+
/**
|
|
9
|
+
* The class that implements a serverless handler for Azure Function.
|
|
10
|
+
*
|
|
11
|
+
* When you don't specify a custom logger, the {@link Context} logger is used instead.
|
|
12
|
+
*
|
|
13
|
+
* @breadcrumb Handlers / AzureHandler
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
class AzureHandler extends default_1.DefaultHandler {
|
|
17
|
+
//#region Constructor
|
|
18
|
+
/**
|
|
19
|
+
* Default Constructor
|
|
20
|
+
*/
|
|
21
|
+
constructor(options) {
|
|
22
|
+
super();
|
|
23
|
+
this.options = options;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region Public Methods
|
|
27
|
+
/**
|
|
28
|
+
* {@inheritDoc}
|
|
29
|
+
*/
|
|
30
|
+
getHandler(app, framework, adapters, resolverFactory, binarySettings, respondWithErrors, log) {
|
|
31
|
+
return (context, event) => {
|
|
32
|
+
var _a;
|
|
33
|
+
const useContextLogWhenInternalLogger = (0, core_1.getDefaultIfUndefined)((_a = this.options) === null || _a === void 0 ? void 0 : _a.useContextLogWhenInternalLogger, true);
|
|
34
|
+
if ((0, core_1.isInternalLogger)(log) && useContextLogWhenInternalLogger)
|
|
35
|
+
log = this.createLoggerFromContext(context);
|
|
36
|
+
const defaultHandler = super.getHandler(app, framework, adapters, resolverFactory, binarySettings, respondWithErrors, log);
|
|
37
|
+
// remove this from context
|
|
38
|
+
// because user can mess it-up the things
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
delete context.done;
|
|
41
|
+
delete context.res;
|
|
42
|
+
return defaultHandler(event, context, undefined);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region Protected Methods
|
|
47
|
+
/**
|
|
48
|
+
* Get the {@link ILogger} instance from logger of the context
|
|
49
|
+
*
|
|
50
|
+
* @param context - The Azure Context
|
|
51
|
+
*/
|
|
52
|
+
createLoggerFromContext(context) {
|
|
53
|
+
return {
|
|
54
|
+
error: context.log.error,
|
|
55
|
+
debug: context.log.verbose,
|
|
56
|
+
verbose: context.log.verbose,
|
|
57
|
+
info: context.log.info,
|
|
58
|
+
warn: context.log.warn,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.AzureHandler = AzureHandler;
|
|
63
|
+
//# sourceMappingURL=azure.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.handler.js","sourceRoot":"","sources":["../../../src/handlers/azure/azure.handler.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,iBAAiB;;;AAUjB,qCAA8E;AAC9E,wCAA4C;AAmB5C;;;;;;;GAOG;AACH,MAAa,YAMX,SAAQ,wBAAoE;IAC5E,qBAAqB;IAErB;;OAEG;IACH,YAA+B,OAA6B;QAC1D,KAAK,EAAE,CAAC;QADqB,YAAO,GAAP,OAAO,CAAsB;IAE5D,CAAC;IAED,YAAY;IAEZ,wBAAwB;IAExB;;OAEG;IACI,UAAU,CACf,GAAS,EACT,SAAkC,EAClC,QAAuD,EACvD,eAMC,EACD,cAA8B,EAC9B,iBAA0B,EAC1B,GAAY;QAEZ,OAAO,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;;YACzC,MAAM,+BAA+B,GAAG,IAAA,4BAAqB,EAC3D,MAAA,IAAI,CAAC,OAAO,0CAAE,+BAA+B,EAC7C,IAAI,CACL,CAAC;YAEF,IAAI,IAAA,uBAAgB,EAAC,GAAG,CAAC,IAAI,+BAA+B;gBAC1D,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAE9C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,GAAG,EACH,SAAS,EACT,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,GAAG,CACJ,CAAC;YAEF,2BAA2B;YAC3B,yCAAyC;YACzC,aAAa;YACb,OAAO,OAAO,CAAC,IAAI,CAAC;YACpB,OAAO,OAAO,CAAC,GAAG,CAAC;YAEnB,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC;IAED,YAAY;IAEZ,2BAA2B;IAE3B;;;;OAIG;IACO,uBAAuB,CAAC,OAAgB;QAChD,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;YACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YAC1B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YAC5B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;YACtB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;CAGF;AAvFD,oCAuFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/azure/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
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("./azure.handler"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/azure/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|