@h4ad/serverless-adapter 4.0.0 → 4.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/lib/adapter.contract-EQE3rlgO.d.ts +278 -0
- package/lib/adapter.contract-y5xSjOjo.d.cts +278 -0
- package/lib/adapters/apollo-server/index.cjs +6 -0
- package/lib/adapters/apollo-server/index.cjs.map +1 -0
- package/lib/adapters/apollo-server/index.d.cts +61 -0
- package/lib/adapters/apollo-server/index.d.ts +61 -0
- package/lib/adapters/apollo-server/index.mjs +2 -0
- package/lib/adapters/apollo-server/index.mjs.map +1 -0
- package/lib/adapters/aws/index.cjs +6 -0
- package/lib/adapters/aws/index.cjs.map +1 -0
- package/lib/adapters/aws/index.d.cts +928 -0
- package/lib/adapters/aws/index.d.ts +928 -0
- package/lib/adapters/aws/index.mjs +2 -0
- package/lib/adapters/aws/index.mjs.map +1 -0
- package/lib/adapters/azure/index.cjs +6 -0
- package/lib/adapters/azure/index.cjs.map +1 -0
- package/lib/adapters/azure/index.d.cts +86 -0
- package/lib/adapters/azure/index.d.ts +86 -0
- package/lib/adapters/azure/index.mjs +2 -0
- package/lib/adapters/azure/index.mjs.map +1 -0
- package/lib/adapters/digital-ocean/index.cjs +6 -0
- package/lib/adapters/digital-ocean/index.cjs.map +1 -0
- package/lib/adapters/digital-ocean/index.d.cts +126 -0
- package/lib/adapters/digital-ocean/index.d.ts +126 -0
- package/lib/adapters/digital-ocean/index.mjs +2 -0
- package/lib/adapters/digital-ocean/index.mjs.map +1 -0
- package/lib/adapters/dummy/index.cjs +6 -0
- package/lib/adapters/dummy/index.cjs.map +1 -0
- package/lib/adapters/dummy/index.d.cts +37 -0
- package/lib/adapters/dummy/index.d.ts +37 -0
- package/lib/adapters/dummy/index.mjs +2 -0
- package/lib/adapters/dummy/index.mjs.map +1 -0
- package/lib/adapters/huawei/index.cjs +6 -0
- package/lib/adapters/huawei/index.cjs.map +1 -0
- package/lib/adapters/huawei/index.d.cts +365 -0
- package/lib/adapters/huawei/index.d.ts +365 -0
- package/lib/adapters/huawei/index.mjs +2 -0
- package/lib/adapters/huawei/index.mjs.map +1 -0
- package/lib/base-handler-fYEk59Xq.d.ts +35 -0
- package/lib/base-handler-peEBoKtZ.d.cts +35 -0
- package/lib/chunk-22SSVZU5.mjs +1 -0
- package/lib/chunk-22SSVZU5.mjs.map +1 -0
- package/lib/chunk-57ZKWTH4.mjs +2 -0
- package/lib/chunk-57ZKWTH4.mjs.map +1 -0
- package/lib/chunk-OYOJMOFP.mjs +2 -0
- package/lib/chunk-OYOJMOFP.mjs.map +1 -0
- package/lib/chunk-PQDB5AVF.mjs +12 -0
- package/lib/chunk-PQDB5AVF.mjs.map +1 -0
- package/lib/chunk-VPGUOREQ.mjs +2 -0
- package/lib/chunk-VPGUOREQ.mjs.map +1 -0
- package/lib/constants-0cgQlFSV.d.cts +32 -0
- package/lib/constants-0cgQlFSV.d.ts +32 -0
- package/lib/framework.contract-YnJ-fl1w.d.cts +20 -0
- package/lib/framework.contract-YnJ-fl1w.d.ts +20 -0
- package/lib/frameworks/apollo-server/index.cjs +6 -0
- package/lib/frameworks/apollo-server/index.cjs.map +1 -0
- package/lib/frameworks/apollo-server/index.d.cts +72 -0
- package/lib/frameworks/apollo-server/index.d.ts +72 -0
- package/lib/frameworks/apollo-server/index.mjs +2 -0
- package/lib/frameworks/apollo-server/index.mjs.map +1 -0
- package/lib/frameworks/body-parser/index.cjs +6 -0
- package/lib/frameworks/body-parser/index.cjs.map +1 -0
- package/lib/frameworks/body-parser/index.d.cts +159 -0
- package/lib/frameworks/body-parser/index.d.ts +159 -0
- package/lib/frameworks/body-parser/index.mjs +2 -0
- package/lib/frameworks/body-parser/index.mjs.map +1 -0
- package/lib/frameworks/cors/index.cjs +7 -0
- package/lib/frameworks/cors/index.cjs.map +1 -0
- package/lib/frameworks/cors/index.d.cts +79 -0
- package/lib/frameworks/cors/index.d.ts +79 -0
- package/lib/frameworks/cors/index.mjs +3 -0
- package/lib/frameworks/cors/index.mjs.map +1 -0
- package/lib/frameworks/deepkit/index.cjs +6 -0
- package/lib/frameworks/deepkit/index.cjs.map +1 -0
- package/lib/frameworks/deepkit/index.d.cts +21 -0
- package/lib/frameworks/deepkit/index.d.ts +21 -0
- package/lib/frameworks/deepkit/index.mjs +2 -0
- package/lib/frameworks/deepkit/index.mjs.map +1 -0
- package/lib/frameworks/express/index.cjs +2 -0
- package/lib/frameworks/express/index.cjs.map +1 -0
- package/lib/frameworks/express/index.d.cts +18 -0
- package/lib/frameworks/express/index.d.ts +18 -0
- package/lib/frameworks/express/index.mjs +2 -0
- package/lib/frameworks/express/index.mjs.map +1 -0
- package/lib/frameworks/fastify/index.cjs +2 -0
- package/lib/frameworks/fastify/index.cjs.map +1 -0
- package/lib/frameworks/fastify/index.d.cts +18 -0
- package/lib/frameworks/fastify/index.d.ts +18 -0
- package/lib/frameworks/fastify/index.mjs +2 -0
- package/lib/frameworks/fastify/index.mjs.map +1 -0
- package/lib/frameworks/hapi/index.cjs +2 -0
- package/lib/frameworks/hapi/index.cjs.map +1 -0
- package/lib/frameworks/hapi/index.d.cts +18 -0
- package/lib/frameworks/hapi/index.d.ts +18 -0
- package/lib/frameworks/hapi/index.mjs +2 -0
- package/lib/frameworks/hapi/index.mjs.map +1 -0
- package/lib/frameworks/koa/index.cjs +2 -0
- package/lib/frameworks/koa/index.cjs.map +1 -0
- package/lib/frameworks/koa/index.d.cts +18 -0
- package/lib/frameworks/koa/index.d.ts +18 -0
- package/lib/frameworks/koa/index.mjs +2 -0
- package/lib/frameworks/koa/index.mjs.map +1 -0
- package/lib/frameworks/lazy/index.cjs +6 -0
- package/lib/frameworks/lazy/index.cjs.map +1 -0
- package/lib/frameworks/lazy/index.d.cts +57 -0
- package/lib/frameworks/lazy/index.d.ts +57 -0
- package/lib/frameworks/lazy/index.mjs +2 -0
- package/lib/frameworks/lazy/index.mjs.map +1 -0
- package/lib/frameworks/trpc/index.cjs +6 -0
- package/lib/frameworks/trpc/index.cjs.map +1 -0
- package/lib/frameworks/trpc/index.d.cts +154 -0
- package/lib/frameworks/trpc/index.d.ts +154 -0
- package/lib/frameworks/trpc/index.mjs +2 -0
- package/lib/frameworks/trpc/index.mjs.map +1 -0
- package/lib/handler.contract-8Cb7qLSi.d.ts +66 -0
- package/lib/handler.contract-TQk8iM8f.d.cts +66 -0
- package/lib/handlers/aws/index.cjs +12 -0
- package/lib/handlers/aws/index.cjs.map +1 -0
- package/lib/handlers/aws/index.d.cts +96 -0
- package/lib/handlers/aws/index.d.ts +96 -0
- package/lib/handlers/aws/index.mjs +2 -0
- package/lib/handlers/aws/index.mjs.map +1 -0
- package/lib/handlers/azure/index.cjs +6 -0
- package/lib/handlers/azure/index.cjs.map +1 -0
- package/lib/handlers/azure/index.d.cts +53 -0
- package/lib/handlers/azure/index.d.ts +53 -0
- package/lib/handlers/azure/index.mjs +2 -0
- package/lib/handlers/azure/index.mjs.map +1 -0
- package/lib/handlers/default/index.cjs +6 -0
- package/lib/handlers/default/index.cjs.map +1 -0
- package/lib/handlers/default/index.d.cts +95 -0
- package/lib/handlers/default/index.d.ts +95 -0
- package/lib/handlers/default/index.mjs +2 -0
- package/lib/handlers/default/index.mjs.map +1 -0
- package/lib/handlers/digital-ocean/index.cjs +6 -0
- package/lib/handlers/digital-ocean/index.cjs.map +1 -0
- package/lib/handlers/digital-ocean/index.d.cts +25 -0
- package/lib/handlers/digital-ocean/index.d.ts +25 -0
- package/lib/handlers/digital-ocean/index.mjs +2 -0
- package/lib/handlers/digital-ocean/index.mjs.map +1 -0
- package/lib/handlers/firebase/index.cjs +6 -0
- package/lib/handlers/firebase/index.cjs.map +1 -0
- package/lib/handlers/firebase/index.d.cts +59 -0
- package/lib/handlers/firebase/index.d.ts +59 -0
- package/lib/handlers/firebase/index.mjs +2 -0
- package/lib/handlers/firebase/index.mjs.map +1 -0
- package/lib/handlers/gcp/index.cjs +6 -0
- package/lib/handlers/gcp/index.cjs.map +1 -0
- package/lib/handlers/gcp/index.d.cts +33 -0
- package/lib/handlers/gcp/index.d.ts +33 -0
- package/lib/handlers/gcp/index.mjs +2 -0
- package/lib/handlers/gcp/index.mjs.map +1 -0
- package/lib/handlers/huawei/index.cjs +6 -0
- package/lib/handlers/huawei/index.cjs.map +1 -0
- package/lib/handlers/huawei/index.d.cts +62 -0
- package/lib/handlers/huawei/index.d.ts +62 -0
- package/lib/handlers/huawei/index.mjs +2 -0
- package/lib/handlers/huawei/index.mjs.map +1 -0
- package/lib/headers-K2qbcurv.d.cts +38 -0
- package/lib/headers-K2qbcurv.d.ts +38 -0
- package/lib/index.cjs +12 -0
- package/lib/index.cjs.map +1 -0
- package/lib/index.d.cts +439 -0
- package/lib/index.d.ts +439 -0
- package/lib/index.mjs +2 -0
- package/lib/index.mjs.map +1 -0
- package/lib/logger-9me5n48P.d.cts +65 -0
- package/lib/logger-9me5n48P.d.ts +65 -0
- package/lib/path-yBwCb8C1.d.cts +64 -0
- package/lib/path-yBwCb8C1.d.ts +64 -0
- package/lib/raw-request-B2vPjAfE.d.cts +32 -0
- package/lib/raw-request-b6AYnkxd.d.ts +32 -0
- package/lib/request-DNNIV9ub.d.cts +44 -0
- package/lib/request-sVa4pxmx.d.ts +44 -0
- package/lib/resolvers/aws-context/index.cjs +2 -0
- package/lib/resolvers/aws-context/index.cjs.map +1 -0
- package/lib/resolvers/aws-context/index.d.cts +25 -0
- package/lib/resolvers/aws-context/index.d.ts +25 -0
- package/lib/resolvers/aws-context/index.mjs +2 -0
- package/lib/resolvers/aws-context/index.mjs.map +1 -0
- package/lib/resolvers/callback/index.cjs +2 -0
- package/lib/resolvers/callback/index.cjs.map +1 -0
- package/lib/resolvers/callback/index.d.cts +29 -0
- package/lib/resolvers/callback/index.d.ts +29 -0
- package/lib/resolvers/callback/index.mjs +2 -0
- package/lib/resolvers/callback/index.mjs.map +1 -0
- package/lib/resolvers/dummy/index.cjs +2 -0
- package/lib/resolvers/dummy/index.cjs.map +1 -0
- package/lib/resolvers/dummy/index.d.cts +20 -0
- package/lib/resolvers/dummy/index.d.ts +20 -0
- package/lib/resolvers/dummy/index.mjs +2 -0
- package/lib/resolvers/dummy/index.mjs.map +1 -0
- package/lib/resolvers/promise/index.cjs +2 -0
- package/lib/resolvers/promise/index.cjs.map +1 -0
- package/lib/resolvers/promise/index.d.cts +20 -0
- package/lib/resolvers/promise/index.d.ts +20 -0
- package/lib/resolvers/promise/index.mjs +2 -0
- package/lib/resolvers/promise/index.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { B as BothValueHeaders, M as MultiValueHeaders } from '../../headers-K2qbcurv.js';
|
|
2
|
+
import { A as AdapterContract, a as AdapterRequest, G as GetResponseAdapterProps, O as OnErrorProps } from '../../adapter.contract-EQE3rlgO.js';
|
|
3
|
+
import 'http';
|
|
4
|
+
import 'node:http';
|
|
5
|
+
import '../../logger-9me5n48P.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The return value of {@link HuaweiContext} getRequestID
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
12
|
+
*/
|
|
13
|
+
type GetRequestIDSecondsReturn = string;
|
|
14
|
+
/**
|
|
15
|
+
* The return value of {@link HuaweiContext} getRemainingTimeInMilliSeconds
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
19
|
+
*/
|
|
20
|
+
type GetRemainingTimeInMilliSecondsReturn = number;
|
|
21
|
+
/**
|
|
22
|
+
* The return value of {@link HuaweiContext} getAccessKey
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
26
|
+
*/
|
|
27
|
+
type GetAccessKeyReturn = string;
|
|
28
|
+
/**
|
|
29
|
+
* The return value of {@link HuaweiContext} getSecretKey
|
|
30
|
+
*
|
|
31
|
+
* @public
|
|
32
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
33
|
+
*/
|
|
34
|
+
type GetSecretKeyReturn = string;
|
|
35
|
+
/**
|
|
36
|
+
* The parameters of the method {@link HuaweiContext} getUserData
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
40
|
+
*/
|
|
41
|
+
type GetUserDataKeyParameter = string;
|
|
42
|
+
/**
|
|
43
|
+
* The return value of {@link HuaweiContext} getUserData
|
|
44
|
+
*
|
|
45
|
+
* @public
|
|
46
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
47
|
+
*/
|
|
48
|
+
type GetUserDataReturn = any;
|
|
49
|
+
/**
|
|
50
|
+
* The return value of {@link HuaweiContext} getFunctionName
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
53
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
54
|
+
*/
|
|
55
|
+
type GetFunctionNameReturn = string;
|
|
56
|
+
/**
|
|
57
|
+
* The return value of {@link HuaweiContext} getRunningTimeInSeconds
|
|
58
|
+
*
|
|
59
|
+
* @public
|
|
60
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
61
|
+
*/
|
|
62
|
+
type GetRunningTimeInSecondsReturn = number;
|
|
63
|
+
/**
|
|
64
|
+
* The return value of {@link HuaweiContext} getVersion
|
|
65
|
+
*
|
|
66
|
+
* @public
|
|
67
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
68
|
+
*/
|
|
69
|
+
type GetVersionReturn = string;
|
|
70
|
+
/**
|
|
71
|
+
* The return value of {@link HuaweiContext} getMemorySize
|
|
72
|
+
*
|
|
73
|
+
* @public
|
|
74
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
75
|
+
*/
|
|
76
|
+
type GetMemorySizeReturn = number;
|
|
77
|
+
/**
|
|
78
|
+
* The return value of {@link HuaweiContext} getCPUNumber
|
|
79
|
+
*
|
|
80
|
+
* @public
|
|
81
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
82
|
+
*/
|
|
83
|
+
type GetCPUNumberReturn = number;
|
|
84
|
+
/**
|
|
85
|
+
* The return value of {@link HuaweiContext} getProjectID
|
|
86
|
+
*
|
|
87
|
+
* @public
|
|
88
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
89
|
+
*/
|
|
90
|
+
type GetProjectIdReturn = number;
|
|
91
|
+
/**
|
|
92
|
+
* The return value of {@link HuaweiContext} getPackage
|
|
93
|
+
*
|
|
94
|
+
* @public
|
|
95
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
96
|
+
*/
|
|
97
|
+
type GetPackageReturn = string;
|
|
98
|
+
/**
|
|
99
|
+
* The return value of {@link HuaweiContext} getToken
|
|
100
|
+
*
|
|
101
|
+
* @public
|
|
102
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
103
|
+
*/
|
|
104
|
+
type GetTokenReturn = string;
|
|
105
|
+
/**
|
|
106
|
+
* The return value of {@link HuaweiContext} getLogger
|
|
107
|
+
*
|
|
108
|
+
* Is the instance of logger that can be used to send logs to
|
|
109
|
+
*
|
|
110
|
+
* @public
|
|
111
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
112
|
+
*/
|
|
113
|
+
type GetLoggerReturn = {
|
|
114
|
+
info(message: string): void;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* The interface that represents methods sent by huawei to get information about the function graph.
|
|
118
|
+
* See more in {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0410.html#section1 | Context Methods}
|
|
119
|
+
*
|
|
120
|
+
* @public
|
|
121
|
+
* @breadcrumb Types / Huawei / HuaweiContext
|
|
122
|
+
*/
|
|
123
|
+
interface HuaweiContext {
|
|
124
|
+
/**
|
|
125
|
+
* Obtains a request ID.
|
|
126
|
+
*/
|
|
127
|
+
getRequestID(): GetRequestIDSecondsReturn;
|
|
128
|
+
/**
|
|
129
|
+
* Obtains the remaining running time of a function.
|
|
130
|
+
*/
|
|
131
|
+
getRemainingTimeInMilliSeconds(): GetRemainingTimeInMilliSecondsReturn;
|
|
132
|
+
/**
|
|
133
|
+
* Obtains the AK (valid for 24 hours) of an agency. If you use this method, you need to configure an agency for the function.
|
|
134
|
+
*/
|
|
135
|
+
getAccessKey(): GetAccessKeyReturn;
|
|
136
|
+
/**
|
|
137
|
+
* Obtains the SK (valid for 24 hours) of an agency. If you use this method, you need to configure an agency for the function.
|
|
138
|
+
*/
|
|
139
|
+
getSecretKey(): GetSecretKeyReturn;
|
|
140
|
+
/**
|
|
141
|
+
* Uses keys to obtain the values passed by environment variables.
|
|
142
|
+
*
|
|
143
|
+
* @param key - The key to get environment variables values
|
|
144
|
+
*/
|
|
145
|
+
getUserData(key: GetUserDataKeyParameter): GetUserDataReturn;
|
|
146
|
+
/**
|
|
147
|
+
* Obtains the name of a function.
|
|
148
|
+
*/
|
|
149
|
+
getFunctionName(): GetFunctionNameReturn;
|
|
150
|
+
/**
|
|
151
|
+
* Obtains the timeout of a function.
|
|
152
|
+
*/
|
|
153
|
+
getRunningTimeInSeconds(): GetRunningTimeInSecondsReturn;
|
|
154
|
+
/**
|
|
155
|
+
* Obtains the version of a function.
|
|
156
|
+
*/
|
|
157
|
+
getVersion(): GetVersionReturn;
|
|
158
|
+
/**
|
|
159
|
+
* Obtains the allocated memory.
|
|
160
|
+
*/
|
|
161
|
+
getMemorySize(): GetMemorySizeReturn;
|
|
162
|
+
/**
|
|
163
|
+
* Number of CPU millicores used by the function (1 core = 1000 millicores).
|
|
164
|
+
*
|
|
165
|
+
* The value of this field is proportional to that of MemorySize. By default, 100 CPU millicores are required for 128 MB memory. The number of CPU millicores is calculated as follows: Memory/128 x 100 + 200 (basic CPU millicores).
|
|
166
|
+
*/
|
|
167
|
+
getCPUNumber(): GetCPUNumberReturn;
|
|
168
|
+
/**
|
|
169
|
+
* Obtains a project ID.
|
|
170
|
+
*/
|
|
171
|
+
getProjectID(): GetProjectIdReturn;
|
|
172
|
+
/**
|
|
173
|
+
* Obtains a function group, that is, an app.
|
|
174
|
+
*/
|
|
175
|
+
getPackage(): GetPackageReturn;
|
|
176
|
+
/**
|
|
177
|
+
* Obtains the token (valid for 24 hours) of an agency. If you use this method, you need to configure an agency for the function.
|
|
178
|
+
*/
|
|
179
|
+
getToken(): GetTokenReturn;
|
|
180
|
+
/**
|
|
181
|
+
* Obtains the logger method provided by the context and returns a log output class. Logs are output in the format of Time-Request ID-Content by using the info method.
|
|
182
|
+
*
|
|
183
|
+
* For example, use the info method to output logs:
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* logg = context.getLogger()
|
|
188
|
+
*
|
|
189
|
+
* logg.info("hello")
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
getLogger(): GetLoggerReturn;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* The interface that represents the Api Gateway Event of Huawei when integrate with Function Graph of Event Type.
|
|
197
|
+
* See more in {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Reference}.
|
|
198
|
+
*
|
|
199
|
+
* @public
|
|
200
|
+
* @breadcrumb Types / Huawei / HuaweiApiGatewayEvent
|
|
201
|
+
*/
|
|
202
|
+
interface HuaweiApiGatewayEvent {
|
|
203
|
+
/**
|
|
204
|
+
* The body value with the content of this event serialized in JSON
|
|
205
|
+
*/
|
|
206
|
+
body: string;
|
|
207
|
+
/**
|
|
208
|
+
* The headers of the request which this event represents
|
|
209
|
+
*/
|
|
210
|
+
headers: BothValueHeaders;
|
|
211
|
+
/**
|
|
212
|
+
* The HTTP Method of the request which this event represents
|
|
213
|
+
*/
|
|
214
|
+
httpMethod: string;
|
|
215
|
+
/**
|
|
216
|
+
* Tells if the body is base64 encoded
|
|
217
|
+
*/
|
|
218
|
+
isBase64Encoded: boolean;
|
|
219
|
+
/**
|
|
220
|
+
* The path of the request which this event represents
|
|
221
|
+
*/
|
|
222
|
+
path: string;
|
|
223
|
+
/**
|
|
224
|
+
* The path parameters of the request which this event represents
|
|
225
|
+
*/
|
|
226
|
+
pathParameters: HuaweiRequestPathParameters;
|
|
227
|
+
/**
|
|
228
|
+
* The query strings of the request which this event represents
|
|
229
|
+
*/
|
|
230
|
+
queryStringParameters: HuaweiRequestQueryStringParameters;
|
|
231
|
+
/**
|
|
232
|
+
* The request context with information about the stage, api and requestId
|
|
233
|
+
*/
|
|
234
|
+
requestContext: HuaweiRequestContext;
|
|
235
|
+
/**
|
|
236
|
+
* It can have more properties that I could not discover yet
|
|
237
|
+
*/
|
|
238
|
+
[key: string]: any;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* The path parameters of the request, usually is the name of the wildcard you create in FunctionGraph, such as /\{proxy\}.
|
|
242
|
+
*
|
|
243
|
+
* @public
|
|
244
|
+
* @breadcrumb Types / Huawei / HuaweiApiGatewayEvent
|
|
245
|
+
*/
|
|
246
|
+
type HuaweiRequestPathParameters = Record<string, string>;
|
|
247
|
+
/**
|
|
248
|
+
* The query strings of the request
|
|
249
|
+
*
|
|
250
|
+
* @public
|
|
251
|
+
* @breadcrumb Types / Huawei / HuaweiApiGatewayEvent
|
|
252
|
+
*/
|
|
253
|
+
type HuaweiRequestQueryStringParameters = Record<string, string | string[]>;
|
|
254
|
+
/**
|
|
255
|
+
* The interface that represents the values you can get inside request context.
|
|
256
|
+
*
|
|
257
|
+
* @public
|
|
258
|
+
* @breadcrumb Types / Huawei / HuaweiApiGatewayEvent
|
|
259
|
+
*/
|
|
260
|
+
interface HuaweiRequestContext {
|
|
261
|
+
/**
|
|
262
|
+
* The ID of your API inside Api Gateway
|
|
263
|
+
*/
|
|
264
|
+
apiId: string;
|
|
265
|
+
/**
|
|
266
|
+
* The ID of this request
|
|
267
|
+
*/
|
|
268
|
+
requestId: string;
|
|
269
|
+
/**
|
|
270
|
+
* The name of the stage running this Function Graph
|
|
271
|
+
*/
|
|
272
|
+
stage: string;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* The interface that represents the Api Gateway Response of Huawei when integrate with Function Graph of Event Type.
|
|
277
|
+
* See more in {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Reference}.
|
|
278
|
+
*
|
|
279
|
+
* @public
|
|
280
|
+
* @breadcrumb Types / Huawei / HuaweiApiGatewayResponse
|
|
281
|
+
*/
|
|
282
|
+
interface HuaweiApiGatewayResponse {
|
|
283
|
+
/**
|
|
284
|
+
* Tells if the body was encoded as base64
|
|
285
|
+
*/
|
|
286
|
+
isBase64Encoded: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* The HTTP Status code of this response
|
|
289
|
+
*/
|
|
290
|
+
statusCode: number;
|
|
291
|
+
/**
|
|
292
|
+
* The headers sent with this response
|
|
293
|
+
*/
|
|
294
|
+
headers: MultiValueHeaders;
|
|
295
|
+
/**
|
|
296
|
+
* The body value with the content of this response serialized in JSON
|
|
297
|
+
*/
|
|
298
|
+
body: string;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* The options to customize the {@link HuaweiApiGatewayAdapter}
|
|
303
|
+
*
|
|
304
|
+
* @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
|
|
305
|
+
* @public
|
|
306
|
+
*/
|
|
307
|
+
interface HuaweiApiGatewayOptions {
|
|
308
|
+
/**
|
|
309
|
+
* Strip base path for custom domains
|
|
310
|
+
*
|
|
311
|
+
* @defaultValue ''
|
|
312
|
+
*/
|
|
313
|
+
stripBasePath?: string;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* The adapter to handle requests from Huawei Api Gateway
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* const stripBasePath = '/any/custom/base/path'; // default ''
|
|
321
|
+
* const adapter = new ApiGatewayAdapter({ stripBasePath });
|
|
322
|
+
* ```
|
|
323
|
+
*
|
|
324
|
+
* @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
|
|
325
|
+
* @public
|
|
326
|
+
*
|
|
327
|
+
* {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}
|
|
328
|
+
*/
|
|
329
|
+
declare class HuaweiApiGatewayAdapter implements AdapterContract<HuaweiApiGatewayEvent, HuaweiContext, HuaweiApiGatewayResponse> {
|
|
330
|
+
protected readonly options?: HuaweiApiGatewayOptions | undefined;
|
|
331
|
+
/**
|
|
332
|
+
* Default constructor
|
|
333
|
+
*
|
|
334
|
+
* @param options - The options to customize the {@link HuaweiApiGatewayAdapter}
|
|
335
|
+
*/
|
|
336
|
+
constructor(options?: HuaweiApiGatewayOptions | undefined);
|
|
337
|
+
/**
|
|
338
|
+
* {@inheritDoc}
|
|
339
|
+
*/
|
|
340
|
+
getAdapterName(): string;
|
|
341
|
+
/**
|
|
342
|
+
* {@inheritDoc}
|
|
343
|
+
*/
|
|
344
|
+
canHandle(event: unknown): event is HuaweiApiGatewayEvent;
|
|
345
|
+
/**
|
|
346
|
+
* {@inheritDoc}
|
|
347
|
+
*/
|
|
348
|
+
getRequest(event: HuaweiApiGatewayEvent): AdapterRequest;
|
|
349
|
+
/**
|
|
350
|
+
* {@inheritDoc}
|
|
351
|
+
*/
|
|
352
|
+
getResponse({ headers: responseHeaders, body, isBase64Encoded, statusCode, }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse;
|
|
353
|
+
/**
|
|
354
|
+
* {@inheritDoc}
|
|
355
|
+
*/
|
|
356
|
+
onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void;
|
|
357
|
+
/**
|
|
358
|
+
* Get path from event with query strings
|
|
359
|
+
*
|
|
360
|
+
* @param event - The event sent by serverless
|
|
361
|
+
*/
|
|
362
|
+
protected getPathFromEvent(event: HuaweiApiGatewayEvent): string;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export { HuaweiApiGatewayAdapter, type HuaweiApiGatewayOptions };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{g as p,h as u,i as d,s as c,t as w}from"../../chunk-PQDB5AVF.mjs";import{a as i}from"../../chunk-OYOJMOFP.mjs";var y=class h{constructor(e){this.options=e}static{i(this,"HuaweiApiGatewayAdapter")}getAdapterName(){return h.name}canHandle(e){let t=e;return!!(t&&t.httpMethod&&t.requestContext&&t.requestContext.apiId&&t.requestContext.stage&&t.requestContext.requestId&&!("multiValueQueryStringParameters"in t))}getRequest(e){let t=e.httpMethod,s=this.getPathFromEvent(e),a=u(e.headers,",",!0),r;if(e.body){let[o,g]=p(e.body,e.isBase64Encoded);r=o,a["content-length"]=String(g)}let n=a["x-real-ip"];return{method:t,headers:a,body:r,remoteAddress:n,path:s}}getResponse({headers:e,body:t,isBase64Encoded:s,statusCode:a}){let r=d(e);return{statusCode:a,body:t,headers:r,isBase64Encoded:s}}onErrorWhileForwarding({error:e,delegatedResolver:t,respondWithErrors:s,event:a,log:r}){let n=s?e.stack:"",o=this.getResponse({event:a,statusCode:500,body:n||"",headers:{},isBase64Encoded:!1,log:r});t.succeed(o)}getPathFromEvent(e){let t=c(this.options?.stripBasePath,""),s=new RegExp(`^${t}`),a=e.path.replace(s,""),r=e.queryStringParameters;return w(a,r)}};export{y as HuaweiApiGatewayAdapter};
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/adapters/huawei/huawei-api-gateway.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport type {\n HuaweiApiGatewayEvent,\n HuaweiApiGatewayResponse,\n HuaweiContext,\n} from '../../@types/huawei';\nimport type {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HuaweiApiGatewayAdapter}\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n */\nexport interface HuaweiApiGatewayOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Huawei Api Gateway\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new ApiGatewayAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n *\n * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}\n */\nexport class HuaweiApiGatewayAdapter\n implements\n AdapterContract<\n HuaweiApiGatewayEvent,\n HuaweiContext,\n HuaweiApiGatewayResponse\n >\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}\n */\n constructor(protected readonly options?: HuaweiApiGatewayOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HuaweiApiGatewayAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is HuaweiApiGatewayEvent {\n const apiGatewayEvent = event as Partial<HuaweiApiGatewayEvent>;\n\n return !!(\n apiGatewayEvent &&\n apiGatewayEvent.httpMethod &&\n apiGatewayEvent.requestContext &&\n apiGatewayEvent.requestContext.apiId &&\n apiGatewayEvent.requestContext.stage &&\n apiGatewayEvent.requestContext.requestId &&\n // to avoid conflict with api gateway v1 of aws\n !('multiValueQueryStringParameters' in apiGatewayEvent)\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HuaweiApiGatewayEvent): AdapterRequest {\n const method = event.httpMethod;\n const path = this.getPathFromEvent(event);\n\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.body,\n event.isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-real-ip'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n isBase64Encoded,\n statusCode,\n }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse {\n const headers = getMultiValueHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HuaweiApiGatewayEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = event.path.replace(replaceRegex, '');\n\n const queryParams = event.queryStringParameters;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n //#endregion\n}\n"],"mappings":"sHAoDO,IAAMA,EAAN,MAAMC,CAOb,CAQE,YAA+BC,EAAmC,CAAnC,aAAAA,CAAoC,CAnErE,MA2DA,CAAAC,EAAA,gCAiBS,gBAAyB,CAC9B,OAAOF,EAAwB,IACjC,CAKO,UAAUG,EAAgD,CAC/D,IAAMC,EAAkBD,EAExB,MAAO,CAAC,EACNC,GACAA,EAAgB,YAChBA,EAAgB,gBAChBA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,WAE/B,EAAE,oCAAqCA,GAE3C,CAKO,WAAWD,EAA8C,CAC9D,IAAME,EAASF,EAAM,WACfG,EAAO,KAAK,iBAAiBH,CAAK,EAElCI,EAAUC,EAAuBL,EAAM,QAAS,IAAK,EAAI,EAE3DM,EAEJ,GAAIN,EAAM,KAAM,CACd,GAAM,CAACO,EAAYC,CAAa,EAAIC,EAClCT,EAAM,KACNA,EAAM,eACR,EAEAM,EAAOC,EACPH,EAAQ,gBAAgB,EAAI,OAAOI,CAAa,CAClD,CAEA,IAAME,EAAgBN,EAAQ,WAAW,EAEzC,MAAO,CACL,OAAAF,EACA,QAAAE,EACA,KAAAE,EACA,cAAAI,EACA,KAAAP,CACF,CACF,CAKO,YAAY,CACjB,QAASQ,EACT,KAAAL,EACA,gBAAAM,EACA,WAAAC,CACF,EAA6E,CAC3E,IAAMT,EAAUU,EAAwBH,CAAe,EAEvD,MAAO,CACL,WAAAE,EACA,KAAAP,EACA,QAAAF,EACA,gBAAAQ,CACF,CACF,CAKO,uBAAuB,CAC5B,MAAAG,EACA,kBAAAC,EACA,kBAAAC,EACA,MAAAjB,EACA,IAAAkB,CACF,EAAwE,CACtE,IAAMZ,EAAOW,EAAoBF,EAAM,MAAQ,GACzCI,EAAgB,KAAK,YAAY,CACrC,MAAAnB,EACA,WAAY,IACZ,KAAMM,GAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,IAAAY,CACF,CAAC,EAEDF,EAAkB,QAAQG,CAAa,CACzC,CAWU,iBAAiBnB,EAAsC,CAC/D,IAAMoB,EAAgBC,EACpB,KAAK,SAAS,cACd,EACF,EACMC,EAAe,IAAI,OAAO,IAAIF,CAAa,EAAE,EAC7CjB,EAAOH,EAAM,KAAK,QAAQsB,EAAc,EAAE,EAE1CC,EAAcvB,EAAM,sBAE1B,OAAOwB,EAA6BrB,EAAMoB,CAAW,CACvD,CAGF","names":["HuaweiApiGatewayAdapter","_HuaweiApiGatewayAdapter","options","__name","event","apiGatewayEvent","method","path","headers","getFlattenedHeadersMap","body","bufferBody","contentLength","getEventBodyAsBuffer","remoteAddress","responseHeaders","isBase64Encoded","statusCode","getMultiValueHeadersMap","error","delegatedResolver","respondWithErrors","log","errorResponse","stripBasePath","getDefaultIfUndefined","replaceRegex","queryParams","getPathWithQueryStringParams"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { H as HandlerContract, B as BinarySettings, S as ServerlessHandler } from './handler.contract-8Cb7qLSi.js';
|
|
2
|
+
import { A as AdapterContract, R as ResolverContract, a as AdapterRequest, S as ServerlessResponse } from './adapter.contract-EQE3rlgO.js';
|
|
3
|
+
import { F as FrameworkContract } from './framework.contract-YnJ-fl1w.js';
|
|
4
|
+
import { S as ServerlessRequest } from './request-sVa4pxmx.js';
|
|
5
|
+
import { I as ILogger } from './logger-9me5n48P.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The abstract class that represents the base class for a handler
|
|
9
|
+
*
|
|
10
|
+
* @breadcrumb Core
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare abstract class BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> implements HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
|
|
14
|
+
/**
|
|
15
|
+
* Get the handler that will handle serverless requests
|
|
16
|
+
*/
|
|
17
|
+
abstract getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, TContext, TResponse>[], resolverFactory: ResolverContract<TEvent, TContext, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
|
|
18
|
+
/**
|
|
19
|
+
* Get the adapter to handle a specific event and context
|
|
20
|
+
*
|
|
21
|
+
* @param event - The event sent by serverless
|
|
22
|
+
* @param context - The context sent by serverless
|
|
23
|
+
* @param adapters - The list of adapters
|
|
24
|
+
* @param log - The instance of logger
|
|
25
|
+
*/
|
|
26
|
+
protected getAdapterByEventAndContext(event: TEvent, context: TContext, adapters: AdapterContract<TEvent, TContext, TResponse>[], log: ILogger): AdapterContract<TEvent, TContext, TResponse>;
|
|
27
|
+
/**
|
|
28
|
+
* Get serverless request and response frmo the adapter request
|
|
29
|
+
*
|
|
30
|
+
* @param requestValues - The request values from adapter
|
|
31
|
+
*/
|
|
32
|
+
protected getServerlessRequestResponseFromAdapterRequest(requestValues: AdapterRequest): [request: ServerlessRequest, response: ServerlessResponse];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { BaseHandler as B };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { H as HandlerContract, B as BinarySettings, S as ServerlessHandler } from './handler.contract-TQk8iM8f.cjs';
|
|
2
|
+
import { A as AdapterContract, R as ResolverContract, a as AdapterRequest, S as ServerlessResponse } from './adapter.contract-y5xSjOjo.cjs';
|
|
3
|
+
import { F as FrameworkContract } from './framework.contract-YnJ-fl1w.cjs';
|
|
4
|
+
import { S as ServerlessRequest } from './request-DNNIV9ub.cjs';
|
|
5
|
+
import { I as ILogger } from './logger-9me5n48P.cjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* The abstract class that represents the base class for a handler
|
|
9
|
+
*
|
|
10
|
+
* @breadcrumb Core
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare abstract class BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> implements HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
|
|
14
|
+
/**
|
|
15
|
+
* Get the handler that will handle serverless requests
|
|
16
|
+
*/
|
|
17
|
+
abstract getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, TContext, TResponse>[], resolverFactory: ResolverContract<TEvent, TContext, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
|
|
18
|
+
/**
|
|
19
|
+
* Get the adapter to handle a specific event and context
|
|
20
|
+
*
|
|
21
|
+
* @param event - The event sent by serverless
|
|
22
|
+
* @param context - The context sent by serverless
|
|
23
|
+
* @param adapters - The list of adapters
|
|
24
|
+
* @param log - The instance of logger
|
|
25
|
+
*/
|
|
26
|
+
protected getAdapterByEventAndContext(event: TEvent, context: TContext, adapters: AdapterContract<TEvent, TContext, TResponse>[], log: ILogger): AdapterContract<TEvent, TContext, TResponse>;
|
|
27
|
+
/**
|
|
28
|
+
* Get serverless request and response frmo the adapter request
|
|
29
|
+
*
|
|
30
|
+
* @param requestValues - The request values from adapter
|
|
31
|
+
*/
|
|
32
|
+
protected getServerlessRequestResponseFromAdapterRequest(requestValues: AdapterRequest): [request: ServerlessRequest, response: ServerlessResponse];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { BaseHandler as B };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-22SSVZU5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A as S,a as A,f as u,o as l,x as g}from"./chunk-PQDB5AVF.mjs";import{a as i}from"./chunk-OYOJMOFP.mjs";import c from"node:util";var v=class extends A{static{i(this,"DefaultHandler")}getHandler(t,e,n,R,s,E,o){return(r,a,p)=>{this.onReceiveRequest(o,r,a,s,E);let d=this.getAdapterByEventAndContext(r,a,n,o);return this.onResolveAdapter(o,d),u({event:r,context:a}),R.createResolver({event:r,context:a,callback:p,log:o,respondWithErrors:E,adapter:d}).run(()=>this.forwardRequestToFramework(t,e,r,a,d,s,o))}}onReceiveRequest(t,e,n,R,s){t.debug("SERVERLESS_ADAPTER:PROXY",()=>({event:c.inspect(e,{depth:null}),context:c.inspect(n,{depth:null}),binarySettings:R,respondWithErrors:s}))}onResolveAdapter(t,e){t.debug("SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ",e.getAdapterName())}onResolveRequestValues(t,e){t.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES",()=>({requestValues:{...e,body:e.body?.toString()}}))}onResolveForwardedResponseToFramework(t,e){t.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE",()=>({response:e}))}onForwardResponse(t,e,n,R,s){t.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS",()=>({statusCode:e,body:n,headers:R,isBase64Encoded:s}))}onForwardResponseAdapterResponse(t,e,n){t.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE",()=>({successResponse:c.inspect(e,{depth:null}),body:n}))}async forwardRequestToFramework(t,e,n,R,s,E,o){let r=s.getRequest(n,R,o);this.onResolveRequestValues(o,r);let[a,p]=this.getServerlessRequestResponseFromAdapterRequest(r);return e.sendRequest(t,a,p),await g(p),this.onResolveForwardedResponseToFramework(o,p),this.forwardResponse(n,p,s,E,o)}forwardResponse(t,e,n,R,s){let E=e.statusCode,o=S.headers(e),r=l(o,R),a=r?"base64":"utf8",p=S.body(e).toString(a),d=r?"[BASE64_ENCODED]":p;this.onForwardResponse(s,E,d,o,r);let T=n.getResponse({event:t,statusCode:E,body:p,headers:o,isBase64Encoded:r,response:e,log:s});return this.onForwardResponseAdapterResponse(s,T,d),T}};export{v as a};
|
|
2
|
+
//# sourceMappingURL=chunk-57ZKWTH4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/handlers/default/default.handler.ts"],"sourcesContent":["//#region Imports\n\nimport util from 'node:util';\nimport type { BinarySettings, SingleValueHeaders } from '../../@types';\nimport type {\n AdapterContract,\n AdapterRequest,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport {\n BaseHandler,\n type ILogger,\n isBinary,\n setCurrentInvoke,\n waitForStreamComplete,\n} from '../../core';\nimport { ServerlessResponse } from '../../network';\n\n//#endregion\n\n/**\n * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively\n *\n * @breadcrumb Handlers / DefaultHandler\n * @public\n */\nexport class DefaultHandler<\n TApp,\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn,\n> extends BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, TContext, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n return (event: TEvent, context: TContext, callback?: TCallback) => {\n this.onReceiveRequest(\n log,\n event,\n context,\n binarySettings,\n respondWithErrors,\n );\n\n const adapter = this.getAdapterByEventAndContext(\n event,\n context,\n adapters,\n log,\n );\n\n this.onResolveAdapter(log, adapter);\n\n setCurrentInvoke({ event, context });\n\n const resolver = resolverFactory.createResolver({\n event,\n context,\n callback,\n log,\n respondWithErrors,\n adapter,\n });\n\n return resolver.run(() =>\n this.forwardRequestToFramework(\n app,\n framework,\n event,\n context,\n adapter,\n binarySettings,\n log,\n ),\n );\n };\n }\n\n //#endregion\n\n //#region Hooks\n\n /**\n * The hook executed on receive a request, before the request is being processed\n *\n * @param log - The instance of logger\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param binarySettings - The binary settings\n * @param respondWithErrors - Indicates whether the error stack should be included in the response or not\n */\n protected onReceiveRequest(\n log: ILogger,\n event: TEvent,\n context: TContext,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n ): void {\n log.debug('SERVERLESS_ADAPTER:PROXY', () => ({\n event: util.inspect(event, { depth: null }),\n context: util.inspect(context, { depth: null }),\n binarySettings,\n respondWithErrors,\n }));\n }\n\n /**\n * The hook executed after resolve the adapter that will be used to handle the request and response\n *\n * @param log - The instance of logger\n * @param adapter - The adapter resolved\n */\n protected onResolveAdapter(\n log: ILogger,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ',\n adapter.getAdapterName(),\n );\n }\n\n /**\n * The hook executed after resolves the request values that will be sent to the framework\n *\n * @param log - The instance of logger\n * @param requestValues - The request values returned by the adapter\n */\n protected onResolveRequestValues(\n log: ILogger,\n requestValues: AdapterRequest,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES',\n () => ({\n requestValues: {\n ...requestValues,\n body: requestValues.body?.toString(),\n },\n }),\n );\n }\n\n /**\n * The hook executed after handling the response sent by the framework\n *\n * @param log - The instance of logger\n * @param response - The response sent by the framework\n */\n protected onResolveForwardedResponseToFramework(\n log: ILogger,\n response: ServerlessResponse,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE',\n () => ({\n response,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless\n *\n * @param log - The instance of logger\n * @param statusCode - The status code of the response\n * @param body - The body of the response\n * @param headers - The headers of the response\n * @param isBase64Encoded - Indicates whether the response was encoded as binary or not\n */\n protected onForwardResponse(\n log: ILogger,\n statusCode: number,\n body: string,\n headers: SingleValueHeaders,\n isBase64Encoded: boolean,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS',\n () => ({\n statusCode,\n body,\n headers,\n isBase64Encoded,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless with response from adapter\n *\n * @param log - The instance of logger\n * @param successResponse - The success response resolved by the adapter\n * @param body - The body of the response sent by the framework\n */\n protected onForwardResponseAdapterResponse(\n log: ILogger,\n successResponse: TResponse,\n body: string,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE',\n () => ({\n successResponse: util.inspect(successResponse, { depth: null }),\n body,\n }),\n );\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * The function to forward the event to the framework\n *\n * @param app - The instance of the app (express, hapi, etc...)\n * @param framework - The framework that will process requests\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param adapter - The adapter resolved to this event\n * @param log - The instance of logger\n * @param binarySettings - The binary settings\n */\n protected async forwardRequestToFramework(\n app: TApp,\n framework: FrameworkContract<TApp>,\n event: TEvent,\n context: TContext,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): Promise<TResponse> {\n const requestValues = adapter.getRequest(event, context, log);\n\n this.onResolveRequestValues(log, requestValues);\n\n const [request, response] =\n this.getServerlessRequestResponseFromAdapterRequest(requestValues);\n\n framework.sendRequest(app, request, response);\n\n await waitForStreamComplete(response);\n\n this.onResolveForwardedResponseToFramework(log, response);\n\n return this.forwardResponse(event, response, adapter, binarySettings, log);\n }\n\n /**\n * The function to forward the response back to the serverless\n *\n * @param event - The event sent by serverless\n * @param response - The response of the framework\n * @param adapter - The adapter resolved to this event\n * @param binarySettings - The binary settings\n * @param log - The instance of logger\n */\n protected forwardResponse(\n event: TEvent,\n response: ServerlessResponse,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): TResponse {\n const statusCode = response.statusCode;\n const headers = ServerlessResponse.headers(response);\n const isBase64Encoded = isBinary(headers, binarySettings);\n const encoding = isBase64Encoded ? 'base64' : 'utf8';\n const body = ServerlessResponse.body(response).toString(encoding);\n const logBody = isBase64Encoded ? '[BASE64_ENCODED]' : body;\n\n this.onForwardResponse(log, statusCode, logBody, headers, isBase64Encoded);\n\n const successResponse = adapter.getResponse({\n event,\n statusCode,\n body,\n headers,\n isBase64Encoded,\n response,\n log,\n });\n\n this.onForwardResponseAdapterResponse(log, successResponse, logBody);\n\n return successResponse;\n }\n\n //#endregion\n}\n"],"mappings":"8GAEA,OAAOA,MAAU,YA0BV,IAAMC,EAAN,cAOGC,CAAmE,CAnC7E,MAmC6E,CAAAC,EAAA,uBAMpE,WACLC,EACAC,EACAC,EACAC,EAOAC,EACAC,EACAC,EAC4B,CAC5B,MAAO,CAACC,EAAeC,EAAmBC,IAAyB,CACjE,KAAK,iBACHH,EACAC,EACAC,EACAJ,EACAC,CACF,EAEA,IAAMK,EAAU,KAAK,4BACnBH,EACAC,EACAN,EACAI,CACF,EAEA,YAAK,iBAAiBA,EAAKI,CAAO,EAElCC,EAAiB,CAAE,MAAAJ,EAAO,QAAAC,CAAQ,CAAC,EAElBL,EAAgB,eAAe,CAC9C,MAAAI,EACA,QAAAC,EACA,SAAAC,EACA,IAAAH,EACA,kBAAAD,EACA,QAAAK,CACF,CAAC,EAEe,IAAI,IAClB,KAAK,0BACHV,EACAC,EACAM,EACAC,EACAE,EACAN,EACAE,CACF,CACF,CACF,CACF,CAeU,iBACRA,EACAC,EACAC,EACAJ,EACAC,EACM,CACNC,EAAI,MAAM,2BAA4B,KAAO,CAC3C,MAAOM,EAAK,QAAQL,EAAO,CAAE,MAAO,IAAK,CAAC,EAC1C,QAASK,EAAK,QAAQJ,EAAS,CAAE,MAAO,IAAK,CAAC,EAC9C,eAAAJ,EACA,kBAAAC,CACF,EAAE,CACJ,CAQU,iBACRC,EACAI,EACM,CACNJ,EAAI,MACF,6CACAI,EAAQ,eAAe,CACzB,CACF,CAQU,uBACRJ,EACAO,EACM,CACNP,EAAI,MACF,iEACA,KAAO,CACL,cAAe,CACb,GAAGO,EACH,KAAMA,EAAc,MAAM,SAAS,CACrC,CACF,EACF,CACF,CAQU,sCACRP,EACAQ,EACM,CACNR,EAAI,MACF,2DACA,KAAO,CACL,SAAAQ,CACF,EACF,CACF,CAWU,kBACRR,EACAS,EACAC,EACAC,EACAC,EACA,CACAZ,EAAI,MACF,mEACA,KAAO,CACL,WAAAS,EACA,KAAAC,EACA,QAAAC,EACA,gBAAAC,CACF,EACF,CACF,CASU,iCACRZ,EACAa,EACAH,EACA,CACAV,EAAI,MACF,4DACA,KAAO,CACL,gBAAiBM,EAAK,QAAQO,EAAiB,CAAE,MAAO,IAAK,CAAC,EAC9D,KAAAH,CACF,EACF,CACF,CAiBA,MAAgB,0BACdhB,EACAC,EACAM,EACAC,EACAE,EACAN,EACAE,EACoB,CACpB,IAAMO,EAAgBH,EAAQ,WAAWH,EAAOC,EAASF,CAAG,EAE5D,KAAK,uBAAuBA,EAAKO,CAAa,EAE9C,GAAM,CAACO,EAASN,CAAQ,EACtB,KAAK,+CAA+CD,CAAa,EAEnE,OAAAZ,EAAU,YAAYD,EAAKoB,EAASN,CAAQ,EAE5C,MAAMO,EAAsBP,CAAQ,EAEpC,KAAK,sCAAsCR,EAAKQ,CAAQ,EAEjD,KAAK,gBAAgBP,EAAOO,EAAUJ,EAASN,EAAgBE,CAAG,CAC3E,CAWU,gBACRC,EACAO,EACAJ,EACAN,EACAE,EACW,CACX,IAAMS,EAAaD,EAAS,WACtBG,EAAUK,EAAmB,QAAQR,CAAQ,EAC7CI,EAAkBK,EAASN,EAASb,CAAc,EAClDoB,EAAWN,EAAkB,SAAW,OACxCF,EAAOM,EAAmB,KAAKR,CAAQ,EAAE,SAASU,CAAQ,EAC1DC,EAAUP,EAAkB,mBAAqBF,EAEvD,KAAK,kBAAkBV,EAAKS,EAAYU,EAASR,EAASC,CAAe,EAEzE,IAAMC,EAAkBT,EAAQ,YAAY,CAC1C,MAAAH,EACA,WAAAQ,EACA,KAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAJ,EACA,IAAAR,CACF,CAAC,EAED,YAAK,iCAAiCA,EAAKa,EAAiBM,CAAO,EAE5DN,CACT,CAGF","names":["util","DefaultHandler","BaseHandler","__name","app","framework","adapters","resolverFactory","binarySettings","respondWithErrors","log","event","context","callback","adapter","setCurrentInvoke","util","requestValues","response","statusCode","body","headers","isBase64Encoded","successResponse","request","waitForStreamComplete","ServerlessResponse","isBinary","encoding","logBody"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{a as s}from"./chunk-OYOJMOFP.mjs";import{IncomingMessage as N}from"node:http";var z=["gzip","deflate","br"],Q=["image/png","image/jpeg","image/jpg","image/avif","image/bmp","image/x-png","image/gif","image/webp","video/mp4","application/pdf"],G={};var S={context:null,event:null};function X(){return S}s(X,"getCurrentInvoke");function Z({event:r,context:e}){S.event=r,S.context=e}s(Z,"setCurrentInvoke");function re(r,e){let t=e?"base64":"utf8",n=Buffer.from(r,t),o=Buffer.byteLength(n,t);return[n,o]}s(re,"getEventBodyAsBuffer");function oe(r,e=",",t=!1){return Object.keys(r).reduce((n,o)=>{let i=t?o.toLowerCase():o,a=r[o];return Array.isArray(a)?n[i]=a.join(e):n[i]=(a??"")+"",n},{})}s(oe,"getFlattenedHeadersMap");function se(r){return Object.keys(r).reduce((e,t)=>{let n=r[t];return e[t.toLowerCase()]=Array.isArray(n)?n.map(String):[String(n)],e},{})}s(se,"getMultiValueHeadersMap");function ie(r){return Object.keys(r).reduce((e,t)=>{let n=r[t],o=t.toLowerCase();return Array.isArray(n)?o!=="set-cookie"?e.headers[t]=n.join(","):e.cookies.push(...n):o==="set-cookie"&&n!==void 0?e.cookies.push(n??""):e.headers[t]=String(n??""),e},{cookies:[],headers:{}})}s(ie,"getFlattenedHeadersMapAndCookies");function R(r){if(!r)return{};let e={},t=r.trim().split(`
|
|
2
|
+
`);for(let n=0;n<t.length;n++){let o=t[n],i=o.indexOf(":"),a=o.slice(0,i).trim().toLowerCase(),u=o.slice(i+1).trim();typeof e[a]>"u"?e[a]=u:Array.isArray(e[a])?e[a].push(u):e[a]=[e[a],u]}return e}s(R,"parseHeaders");function H(r,e){let t=r["content-encoding"];return t?(Array.isArray(t)||(t=t.split(",")),t.some(n=>e.includes(n.trim()))):!1}s(H,"isContentEncodingBinary");function L(r){let e=r["content-type"],t=Array.isArray(e)?e[0]||"":e||"";if(!e)return"";let n=t.indexOf(";");return n===-1?t:t.slice(0,n)}s(L,"getContentType");function O(r,e){let t=L(r);return t?e.includes(t.trim()):!1}s(O,"isContentTypeBinary");function ue(r,e){return"isBinary"in e?e.isBinary===!1?!1:e.isBinary(r):H(r,e.contentEncodings)||O(r,e.contentTypes)}s(ue,"isBinary");var d=s(()=>{},"NO_OP");var b=Symbol("InternalLogger"),I={debug:[["debug","debug"],["verbose","debug"],["info","info"],["error","error"],["warn","warn"]],verbose:[["verbose","debug"],["info","info"],["error","error"],["warn","warn"]],info:[["info","info"],["error","error"],["warn","warn"]],warn:[["warn","warn"],["error","error"]],error:[["error","error"]],none:[]},P=s(r=>typeof r=="function"?r():r,"lazyPrint"),_=s(r=>(e,...t)=>console[r](e,...t.map(P)),"print");function ye({level:r}={level:"error"}){let e=I[r];if(!e)throw new Error("Invalid log level");let t={[b]:!0,error:d,debug:d,info:d,verbose:d,warn:d};for(let[n,o]of e)t[n]=_(o);return t}s(ye,"createDefaultLogger");function me(r){return!!r[b]}s(me,"isInternalLogger");function Se(r,e){return r===void 0?e:r}s(Se,"getDefaultIfUndefined");function Ee(r,e){if(String(e||"").length===0)return r;if(typeof e=="string")return`${r}?${e}`;let t=V(e);return t?`${r}?${t}`:r}s(Ee,"getPathWithQueryStringParams");function V(r){let e=new URLSearchParams,t=Object.entries(r||{});if(t.length===0)return"";for(let[n,o]of t){if(!Array.isArray(o)){e.append(n,o||"");continue}for(let i of o)e.append(n,i)}return e.toString()}s(V,"getQueryParamsStringFromRecord");var F=s(r=>r,"NOOPBasePath");function Re(r){if(!r)return F;let e=r.length;return t=>t.startsWith(r)?t.slice(t.indexOf(r)+e,t.length)||"/":t}s(Re,"buildStripBasePath");import"node:stream";function D(r){return!!("readableEnded"in r&&r.readableEnded||"writableEnded"in r&&r.writableEnded)}s(D,"isStreamEnded");function Be(r){return D(r)?Promise.resolve(r):new Promise((e,t)=>{let n=!1;function o(i){n||(n=!0,r.removeListener("error",o),r.removeListener("end",o),r.removeListener("finish",o),i?t(i):e(r))}s(o,"complete"),r.once("error",o),r.once("end",o),r.once("finish",o)})}s(Be,"waitForStreamComplete");var W=443,y=class extends N{static{s(this,"ServerlessRequest")}constructor({method:e,url:t,headers:n,body:o,remoteAddress:i}){super({encrypted:!0,readable:!1,remoteAddress:i,address:()=>({port:W}),end:d,destroy:d}),this.statusCode=200,this.statusMessage="OK",this.complete=!0,this.httpVersion="1.1",this.httpVersionMajor=1,this.httpVersionMinor=1,this.method=e,this.headers=n,this.body=o,this.url=t,this.ip=i,this._read=()=>{this.push(o),this.push(null)}}ip;body};import{ServerResponse as j}from"node:http";function m(r){if(Buffer.isBuffer(r))return r.toString("utf8");if(typeof r=="string")return r;if(r instanceof Uint8Array)return new TextDecoder().decode(r);throw new Error(`response.write() of unexpected type: ${typeof r}`)}s(m,"getString");var w=`\r
|
|
3
|
+
\r
|
|
4
|
+
`,U=`0\r
|
|
5
|
+
\r
|
|
6
|
+
`,c=Symbol("Response body"),l=Symbol("Response headers");function v(r,e){if(Buffer.isBuffer(e)||typeof e=="string"||e instanceof Uint8Array)r[c].push(Buffer.from(e));else throw new Error(`response.write() of unexpected type: ${typeof e}`)}s(v,"addData");var h=class r extends j{static{s(this,"ServerlessResponse")}constructor({method:e}){super({method:e}),this[c]=[],this[l]={},this.useChunkedEncodingByDefault=!1,this.chunkedEncoding=!1,this._header="";let t=1,n={_writableState:{},writable:!0,on:d,removeListener:d,destroy:d,cork:d,uncork:d,write:(o,i,a)=>{if(typeof i=="function"&&(a=i,i=null),this._header===""||this._wroteHeader)this.chunkedEncoding?t>0?t--:o!==U&&(v(this,o),t=3):v(this,o);else{let u=m(o),f=u.indexOf(w);if(f!==-1){let p=u.slice(f+w.length);p&&!this.chunkedEncoding&&v(this,p),this._wroteHeader=!0}}typeof a=="function"&&a()}};this.assignSocket(n)}_header;_headers;_wroteHeader;[c];[l];get headers(){return this[l]}static from(e){let t=new r({method:e.method});return t.statusCode=e.statusCode||0,t[l]=e.headers,t[c]=e.body?[Buffer.from(e.body)]:[],t.end(),t}static body(e){return Buffer.concat(e[c])}static headers(e){let t=e.getHeaders();return Object.assign(t,e[l])}setHeader(e,t){this._wroteHeader?this[l][e]=t:super.setHeader(e,t)}writeHead(e,t,n){let o=typeof t=="string"?n:t,i=Array.isArray(o)?o:[o||{}];for(let a of i)for(let u in a)if(this.setHeader(u,a[u]),!this._wroteHeader)break;return this.callNativeWriteHead(e,t,n)}callNativeWriteHead(e,t,n){return super.writeHead(e,t,n)}};import{ServerResponse as M}from"node:http";var $=`0\r
|
|
7
|
+
\r
|
|
8
|
+
`,Y=`\r
|
|
9
|
+
\r
|
|
10
|
+
`,q=`\r
|
|
11
|
+
`,A=class extends M{static{s(this,"ServerlessStreamResponse")}constructor({method:e,onReceiveHeaders:t,log:n}){super({method:e}),this.useChunkedEncodingByDefault=!0,this.chunkedEncoding=!0;let o=null,i=!0,a=0,u={_writableState:{},writable:!0,on:d,removeListener:d,destroy:d,cork:d,uncork:d,write:(f,p,x)=>{if(typeof p=="function"&&(x=p,p=null),n.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:DATA",()=>({data:Buffer.isBuffer(f)?f.toString("utf8"):f,encoding:p})),!i&&o){if(f===$)return o.end(x),!0;if(a>0)return a--,!0;o.write(f,x),a=3}else if(i){i=!1;let g=m(f),T=g.indexOf(q),k=+g.slice(0,T).split(" ")[1],B=g.slice(T+2,g.indexOf(Y)),E=R(B);n.debug("SERVERLESS_ADAPTER:RESPONSE_STREAM:FRAMEWORK_HEADERS",{headers:E}),a=1,o=t(k,E)}return!0}};this.assignSocket(u)}};var C=class{static{s(this,"BaseHandler")}getAdapterByEventAndContext(e,t,n,o){let i=n.filter(a=>a.canHandle(e,t,o));if(i.length===0)throw new Error("SERVERLESS_ADAPTER: Couldn't find adapter to handle this event.");if(i.length>1)throw new Error(`SERVERLESS_ADAPTER: Two or more adapters was resolved by the event, the adapters are: ${n.map(a=>a.getAdapterName()).join(", ")}.`);return i[0]}getServerlessRequestResponseFromAdapterRequest(e){let t=new y({method:e.method,headers:e.headers,body:e.body,remoteAddress:e.remoteAddress,url:e.path}),n=new h({method:e.method});return[t,n]}};export{C as a,z as b,Q as c,G as d,X as e,Z as f,re as g,oe as h,se as i,ie as j,R as k,H as l,L as m,O as n,ue as o,d as p,ye as q,me as r,Se as s,Ee as t,V as u,Re as v,D as w,Be as x,y,m as z,h as A,A as B};
|
|
12
|
+
//# sourceMappingURL=chunk-PQDB5AVF.mjs.map
|