@h4ad/serverless-adapter 2.16.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +7 -0
  2. package/lib/@types/binary-settings.js +2 -11
  3. package/lib/@types/binary-settings.js.map +1 -1
  4. package/lib/@types/digital-ocean/digital-ocean-http-event.js +2 -7
  5. package/lib/@types/digital-ocean/digital-ocean-http-event.js.map +1 -1
  6. package/lib/@types/digital-ocean/digital-ocean-http-response.js +2 -7
  7. package/lib/@types/digital-ocean/digital-ocean-http-response.js.map +1 -1
  8. package/lib/@types/digital-ocean/index.js +2 -18
  9. package/lib/@types/digital-ocean/index.js.map +1 -1
  10. package/lib/@types/headers.js +2 -11
  11. package/lib/@types/headers.js.map +1 -1
  12. package/lib/@types/helpers.js +2 -6
  13. package/lib/@types/helpers.js.map +1 -1
  14. package/lib/@types/huawei/huawei-api-gateway-event.js +2 -14
  15. package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -1
  16. package/lib/@types/huawei/huawei-api-gateway-response.js +2 -7
  17. package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -1
  18. package/lib/@types/huawei/huawei-context.js +2 -36
  19. package/lib/@types/huawei/huawei-context.js.map +1 -1
  20. package/lib/@types/huawei/index.js +2 -20
  21. package/lib/@types/huawei/index.js.map +1 -1
  22. package/lib/@types/index.js +2 -20
  23. package/lib/@types/index.js.map +1 -1
  24. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js +2 -86
  25. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js.map +1 -1
  26. package/lib/adapters/apollo-server/index.js +2 -18
  27. package/lib/adapters/apollo-server/index.js.map +1 -1
  28. package/lib/adapters/aws/alb.adapter.js +2 -129
  29. package/lib/adapters/aws/alb.adapter.js.map +1 -1
  30. package/lib/adapters/aws/api-gateway-v1.adapter.js +2 -140
  31. package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -1
  32. package/lib/adapters/aws/api-gateway-v2.adapter.js +2 -133
  33. package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -1
  34. package/lib/adapters/aws/base/aws-simple-adapter.js +2 -99
  35. package/lib/adapters/aws/base/aws-simple-adapter.js.map +1 -1
  36. package/lib/adapters/aws/base/index.js +2 -18
  37. package/lib/adapters/aws/base/index.js.map +1 -1
  38. package/lib/adapters/aws/dynamodb.adapter.js +2 -64
  39. package/lib/adapters/aws/dynamodb.adapter.js.map +1 -1
  40. package/lib/adapters/aws/event-bridge.adapter.js +2 -75
  41. package/lib/adapters/aws/event-bridge.adapter.js.map +1 -1
  42. package/lib/adapters/aws/index.js +2 -27
  43. package/lib/adapters/aws/index.js.map +1 -1
  44. package/lib/adapters/aws/lambda-edge.adapter.js +2 -284
  45. package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -1
  46. package/lib/adapters/aws/s3.adapter.js +2 -63
  47. package/lib/adapters/aws/s3.adapter.js.map +1 -1
  48. package/lib/adapters/aws/sns.adapter.js +2 -63
  49. package/lib/adapters/aws/sns.adapter.js.map +1 -1
  50. package/lib/adapters/aws/sqs.adapter.js +2 -64
  51. package/lib/adapters/aws/sqs.adapter.js.map +1 -1
  52. package/lib/adapters/azure/http-trigger-v4.adapter.js +2 -202
  53. package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -1
  54. package/lib/adapters/azure/index.js +2 -18
  55. package/lib/adapters/azure/index.js.map +1 -1
  56. package/lib/adapters/digital-ocean/http-function.adapter.js +2 -118
  57. package/lib/adapters/digital-ocean/http-function.adapter.js.map +1 -1
  58. package/lib/adapters/digital-ocean/index.js +2 -18
  59. package/lib/adapters/digital-ocean/index.js.map +1 -1
  60. package/lib/adapters/dummy/dummy.adapter.js +2 -54
  61. package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
  62. package/lib/adapters/dummy/index.js +2 -18
  63. package/lib/adapters/dummy/index.js.map +1 -1
  64. package/lib/adapters/huawei/huawei-api-gateway.adapter.js +2 -126
  65. package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -1
  66. package/lib/adapters/huawei/index.js +2 -18
  67. package/lib/adapters/huawei/index.js.map +1 -1
  68. package/lib/contracts/adapter.contract.js +2 -18
  69. package/lib/contracts/adapter.contract.js.map +1 -1
  70. package/lib/contracts/framework.contract.js +2 -7
  71. package/lib/contracts/framework.contract.js.map +1 -1
  72. package/lib/contracts/handler.contract.js +2 -13
  73. package/lib/contracts/handler.contract.js.map +1 -1
  74. package/lib/contracts/index.js +2 -21
  75. package/lib/contracts/index.js.map +1 -1
  76. package/lib/contracts/resolver.contract.js +2 -15
  77. package/lib/contracts/resolver.contract.js.map +1 -1
  78. package/lib/core/base-handler.js +2 -67
  79. package/lib/core/base-handler.js.map +1 -1
  80. package/lib/core/constants.js +2 -33
  81. package/lib/core/constants.js.map +1 -1
  82. package/lib/core/current-invoke.js +2 -46
  83. package/lib/core/current-invoke.js.map +1 -1
  84. package/lib/core/event-body.js +2 -31
  85. package/lib/core/event-body.js.map +1 -1
  86. package/lib/core/headers.js +3 -67
  87. package/lib/core/headers.js.map +1 -1
  88. package/lib/core/index.js +2 -28
  89. package/lib/core/index.js.map +1 -1
  90. package/lib/core/is-binary.js +2 -118
  91. package/lib/core/is-binary.js.map +1 -1
  92. package/lib/core/logger.js +2 -115
  93. package/lib/core/logger.js.map +1 -1
  94. package/lib/core/no-op.js +2 -12
  95. package/lib/core/no-op.js.map +1 -1
  96. package/lib/core/optional.js +2 -31
  97. package/lib/core/optional.js.map +1 -1
  98. package/lib/core/path.js +2 -68
  99. package/lib/core/path.js.map +1 -1
  100. package/lib/core/stream.js +2 -63
  101. package/lib/core/stream.js.map +1 -1
  102. package/lib/frameworks/apollo-server/apollo-server.framework.js +2 -87
  103. package/lib/frameworks/apollo-server/apollo-server.framework.js.map +1 -1
  104. package/lib/frameworks/apollo-server/index.js +2 -18
  105. package/lib/frameworks/apollo-server/index.js.map +1 -1
  106. package/lib/frameworks/body-parser/base-body-parser.framework.js +2 -66
  107. package/lib/frameworks/body-parser/base-body-parser.framework.js.map +1 -1
  108. package/lib/frameworks/body-parser/index.js +2 -22
  109. package/lib/frameworks/body-parser/index.js.map +1 -1
  110. package/lib/frameworks/body-parser/json-body-parser.framework.js +2 -29
  111. package/lib/frameworks/body-parser/json-body-parser.framework.js.map +1 -1
  112. package/lib/frameworks/body-parser/raw-body-parser.framework.js +2 -29
  113. package/lib/frameworks/body-parser/raw-body-parser.framework.js.map +1 -1
  114. package/lib/frameworks/body-parser/text-body-parser.framework.js +2 -29
  115. package/lib/frameworks/body-parser/text-body-parser.framework.js.map +1 -1
  116. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js +2 -29
  117. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js.map +1 -1
  118. package/lib/frameworks/cors/cors.framework.js +3 -145
  119. package/lib/frameworks/cors/cors.framework.js.map +1 -1
  120. package/lib/frameworks/cors/index.js +2 -18
  121. package/lib/frameworks/cors/index.js.map +1 -1
  122. package/lib/frameworks/deepkit/http-deepkit.framework.js +2 -33
  123. package/lib/frameworks/deepkit/http-deepkit.framework.js.map +1 -1
  124. package/lib/frameworks/deepkit/index.js +2 -18
  125. package/lib/frameworks/deepkit/index.js.map +1 -1
  126. package/lib/frameworks/express/express.framework.js +2 -22
  127. package/lib/frameworks/express/express.framework.js.map +1 -1
  128. package/lib/frameworks/express/index.js +2 -18
  129. package/lib/frameworks/express/index.js.map +1 -1
  130. package/lib/frameworks/fastify/fastify.framework.js +2 -23
  131. package/lib/frameworks/fastify/fastify.framework.js.map +1 -1
  132. package/lib/frameworks/fastify/helpers/no-op-content-parser.js +2 -27
  133. package/lib/frameworks/fastify/helpers/no-op-content-parser.js.map +1 -1
  134. package/lib/frameworks/fastify/index.js +2 -18
  135. package/lib/frameworks/fastify/index.js.map +1 -1
  136. package/lib/frameworks/hapi/hapi.framework.js +2 -23
  137. package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
  138. package/lib/frameworks/hapi/index.js +2 -18
  139. package/lib/frameworks/hapi/index.js.map +1 -1
  140. package/lib/frameworks/koa/index.js +2 -18
  141. package/lib/frameworks/koa/index.js.map +1 -1
  142. package/lib/frameworks/koa/koa.framework.js +2 -22
  143. package/lib/frameworks/koa/koa.framework.js.map +1 -1
  144. package/lib/frameworks/lazy/index.js +2 -18
  145. package/lib/frameworks/lazy/index.js.map +1 -1
  146. package/lib/frameworks/lazy/lazy.framework.js +2 -82
  147. package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
  148. package/lib/frameworks/trpc/index.js +2 -18
  149. package/lib/frameworks/trpc/index.js.map +1 -1
  150. package/lib/frameworks/trpc/trpc.framework.js +2 -152
  151. package/lib/frameworks/trpc/trpc.framework.js.map +1 -1
  152. package/lib/handlers/aws/aws-stream.handler.js +2 -0
  153. package/lib/handlers/aws/aws-stream.handler.js.map +1 -0
  154. package/lib/handlers/aws/index.js +2 -0
  155. package/lib/handlers/aws/index.js.map +1 -0
  156. package/lib/handlers/azure/azure.handler.js +2 -74
  157. package/lib/handlers/azure/azure.handler.js.map +1 -1
  158. package/lib/handlers/azure/index.js +2 -18
  159. package/lib/handlers/azure/index.js.map +1 -1
  160. package/lib/handlers/base/index.js +2 -18
  161. package/lib/handlers/base/index.js.map +1 -1
  162. package/lib/handlers/base/raw-request.js +2 -65
  163. package/lib/handlers/base/raw-request.js.map +1 -1
  164. package/lib/handlers/default/default.handler.js +2 -191
  165. package/lib/handlers/default/default.handler.js.map +1 -1
  166. package/lib/handlers/default/index.js +2 -18
  167. package/lib/handlers/default/index.js.map +1 -1
  168. package/lib/handlers/digital-ocean/digital-ocean.handler.js +2 -34
  169. package/lib/handlers/digital-ocean/digital-ocean.handler.js.map +1 -1
  170. package/lib/handlers/digital-ocean/index.js +2 -18
  171. package/lib/handlers/digital-ocean/index.js.map +1 -1
  172. package/lib/handlers/firebase/http-firebase-v2.handler.js +2 -50
  173. package/lib/handlers/firebase/http-firebase-v2.handler.js.map +1 -1
  174. package/lib/handlers/firebase/http-firebase.handler.js +2 -27
  175. package/lib/handlers/firebase/http-firebase.handler.js.map +1 -1
  176. package/lib/handlers/firebase/index.js +2 -19
  177. package/lib/handlers/firebase/index.js.map +1 -1
  178. package/lib/handlers/gcp/gcp.handler.js +2 -40
  179. package/lib/handlers/gcp/gcp.handler.js.map +1 -1
  180. package/lib/handlers/gcp/index.js +2 -18
  181. package/lib/handlers/gcp/index.js.map +1 -1
  182. package/lib/handlers/huawei/http-huawei.handler.js +2 -106
  183. package/lib/handlers/huawei/http-huawei.handler.js.map +1 -1
  184. package/lib/handlers/huawei/index.js +2 -18
  185. package/lib/handlers/huawei/index.js.map +1 -1
  186. package/lib/index.doc.js +2 -0
  187. package/lib/index.doc.js.map +1 -0
  188. package/lib/index.js +2 -22
  189. package/lib/index.js.map +1 -1
  190. package/lib/network/index.js +2 -19
  191. package/lib/network/index.js.map +1 -1
  192. package/lib/network/request.js +2 -46
  193. package/lib/network/request.js.map +1 -1
  194. package/lib/network/response-stream.js +7 -0
  195. package/lib/network/response-stream.js.map +1 -0
  196. package/lib/network/response.js +4 -137
  197. package/lib/network/response.js.map +1 -1
  198. package/lib/network/utils.js +2 -0
  199. package/lib/network/utils.js.map +1 -0
  200. package/lib/resolvers/aws-context/aws-context.resolver.js +2 -59
  201. package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -1
  202. package/lib/resolvers/aws-context/index.js +2 -18
  203. package/lib/resolvers/aws-context/index.js.map +1 -1
  204. package/lib/resolvers/callback/callback.resolver.js +2 -53
  205. package/lib/resolvers/callback/callback.resolver.js.map +1 -1
  206. package/lib/resolvers/callback/index.js +2 -18
  207. package/lib/resolvers/callback/index.js.map +1 -1
  208. package/lib/resolvers/dummy/dummy.resolver.js +2 -24
  209. package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
  210. package/lib/resolvers/dummy/index.js +2 -18
  211. package/lib/resolvers/dummy/index.js.map +1 -1
  212. package/lib/resolvers/promise/index.js +2 -18
  213. package/lib/resolvers/promise/index.js.map +1 -1
  214. package/lib/resolvers/promise/promise.resolver.js +2 -48
  215. package/lib/resolvers/promise/promise.resolver.js.map +1 -1
  216. package/lib/serverless-adapter.js +2 -176
  217. package/lib/serverless-adapter.js.map +1 -1
  218. package/package.json +61 -79
  219. package/lib/@types/binary-settings.d.ts +0 -43
  220. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +0 -37
  221. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +0 -22
  222. package/lib/@types/digital-ocean/index.d.ts +0 -1
  223. package/lib/@types/headers.d.ts +0 -39
  224. package/lib/@types/helpers.d.ts +0 -10
  225. package/lib/@types/huawei/huawei-api-gateway-event.d.ts +0 -84
  226. package/lib/@types/huawei/huawei-api-gateway-response.d.ts +0 -27
  227. package/lib/@types/huawei/huawei-context.d.ts +0 -203
  228. package/lib/@types/huawei/index.d.ts +0 -3
  229. package/lib/@types/index.d.ts +0 -3
  230. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +0 -56
  231. package/lib/adapters/apollo-server/index.d.ts +0 -1
  232. package/lib/adapters/aws/alb.adapter.d.ts +0 -66
  233. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +0 -71
  234. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +0 -69
  235. package/lib/adapters/aws/base/aws-simple-adapter.d.ts +0 -85
  236. package/lib/adapters/aws/base/index.d.ts +0 -1
  237. package/lib/adapters/aws/dynamodb.adapter.d.ts +0 -56
  238. package/lib/adapters/aws/event-bridge.adapter.d.ts +0 -64
  239. package/lib/adapters/aws/index.d.ts +0 -10
  240. package/lib/adapters/aws/lambda-edge.adapter.d.ts +0 -213
  241. package/lib/adapters/aws/s3.adapter.d.ts +0 -56
  242. package/lib/adapters/aws/sns.adapter.d.ts +0 -56
  243. package/lib/adapters/aws/sqs.adapter.d.ts +0 -56
  244. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +0 -81
  245. package/lib/adapters/azure/index.d.ts +0 -1
  246. package/lib/adapters/digital-ocean/http-function.adapter.d.ts +0 -65
  247. package/lib/adapters/digital-ocean/index.d.ts +0 -1
  248. package/lib/adapters/dummy/dummy.adapter.d.ts +0 -30
  249. package/lib/adapters/dummy/index.d.ts +0 -1
  250. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +0 -66
  251. package/lib/adapters/huawei/index.d.ts +0 -1
  252. package/lib/contracts/adapter.contract.d.ts +0 -155
  253. package/lib/contracts/framework.contract.d.ts +0 -19
  254. package/lib/contracts/handler.contract.d.ts +0 -26
  255. package/lib/contracts/index.d.ts +0 -4
  256. package/lib/contracts/resolver.contract.d.ts +0 -86
  257. package/lib/core/base-handler.d.ts +0 -31
  258. package/lib/core/constants.d.ts +0 -31
  259. package/lib/core/current-invoke.d.ts +0 -48
  260. package/lib/core/event-body.d.ts +0 -21
  261. package/lib/core/headers.d.ts +0 -37
  262. package/lib/core/index.d.ts +0 -11
  263. package/lib/core/is-binary.d.ts +0 -72
  264. package/lib/core/logger.d.ts +0 -67
  265. package/lib/core/no-op.d.ts +0 -7
  266. package/lib/core/optional.d.ts +0 -21
  267. package/lib/core/path.d.ts +0 -36
  268. package/lib/core/stream.d.ts +0 -20
  269. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +0 -71
  270. package/lib/frameworks/apollo-server/index.d.ts +0 -1
  271. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts +0 -69
  272. package/lib/frameworks/body-parser/index.d.ts +0 -5
  273. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts +0 -26
  274. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts +0 -26
  275. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts +0 -26
  276. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts +0 -26
  277. package/lib/frameworks/cors/cors.framework.d.ts +0 -78
  278. package/lib/frameworks/cors/index.d.ts +0 -1
  279. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +0 -17
  280. package/lib/frameworks/deepkit/index.d.ts +0 -1
  281. package/lib/frameworks/express/express.framework.d.ts +0 -16
  282. package/lib/frameworks/express/index.d.ts +0 -1
  283. package/lib/frameworks/fastify/fastify.framework.d.ts +0 -16
  284. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts +0 -13
  285. package/lib/frameworks/fastify/index.d.ts +0 -1
  286. package/lib/frameworks/hapi/hapi.framework.d.ts +0 -16
  287. package/lib/frameworks/hapi/index.d.ts +0 -1
  288. package/lib/frameworks/koa/index.d.ts +0 -1
  289. package/lib/frameworks/koa/koa.framework.d.ts +0 -16
  290. package/lib/frameworks/lazy/index.d.ts +0 -1
  291. package/lib/frameworks/lazy/lazy.framework.d.ts +0 -55
  292. package/lib/frameworks/trpc/index.d.ts +0 -1
  293. package/lib/frameworks/trpc/trpc.framework.d.ts +0 -154
  294. package/lib/handlers/azure/azure.handler.d.ts +0 -45
  295. package/lib/handlers/azure/index.d.ts +0 -1
  296. package/lib/handlers/base/index.d.ts +0 -1
  297. package/lib/handlers/base/raw-request.d.ts +0 -30
  298. package/lib/handlers/default/default.handler.d.ts +0 -87
  299. package/lib/handlers/default/index.d.ts +0 -1
  300. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +0 -16
  301. package/lib/handlers/digital-ocean/index.d.ts +0 -1
  302. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts +0 -26
  303. package/lib/handlers/firebase/http-firebase.handler.d.ts +0 -18
  304. package/lib/handlers/firebase/index.d.ts +0 -2
  305. package/lib/handlers/gcp/gcp.handler.d.ts +0 -25
  306. package/lib/handlers/gcp/index.d.ts +0 -1
  307. package/lib/handlers/huawei/http-huawei.handler.d.ts +0 -59
  308. package/lib/handlers/huawei/index.d.ts +0 -1
  309. package/lib/index.d.ts +0 -5
  310. package/lib/network/index.d.ts +0 -2
  311. package/lib/network/request.d.ts +0 -44
  312. package/lib/network/response.d.ts +0 -48
  313. package/lib/resolvers/aws-context/aws-context.resolver.d.ts +0 -18
  314. package/lib/resolvers/aws-context/index.d.ts +0 -1
  315. package/lib/resolvers/callback/callback.resolver.d.ts +0 -23
  316. package/lib/resolvers/callback/index.d.ts +0 -1
  317. package/lib/resolvers/dummy/dummy.resolver.d.ts +0 -13
  318. package/lib/resolvers/dummy/index.d.ts +0 -1
  319. package/lib/resolvers/promise/index.d.ts +0 -1
  320. package/lib/resolvers/promise/promise.resolver.d.ts +0 -13
  321. package/lib/serverless-adapter.d.ts +0 -118
@@ -1,30 +0,0 @@
1
- import { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';
2
- import { IEmptyResponse } from '../../core';
3
- /**
4
- * The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.
5
- *
6
- * @breadcrumb Adapters / DummyAdapter
7
- * @public
8
- */
9
- export declare class DummyAdapter implements AdapterContract<any, any, void> {
10
- /**
11
- * {@inheritDoc}
12
- */
13
- canHandle(): boolean;
14
- /**
15
- * {@inheritDoc}
16
- */
17
- getAdapterName(): string;
18
- /**
19
- * {@inheritDoc}
20
- */
21
- getRequest(): AdapterRequest;
22
- /**
23
- * {@inheritDoc}
24
- */
25
- getResponse(): IEmptyResponse;
26
- /**
27
- * {@inheritDoc}
28
- */
29
- onErrorWhileForwarding(props: OnErrorProps<any, void>): void;
30
- }
@@ -1 +0,0 @@
1
- export * from './dummy.adapter';
@@ -1,66 +0,0 @@
1
- import { HuaweiApiGatewayEvent, HuaweiApiGatewayResponse, HuaweiContext } from '../../@types/huawei';
2
- import { AdapterContract, AdapterRequest, GetResponseAdapterProps, OnErrorProps } from '../../contracts';
3
- /**
4
- * The options to customize the {@link HuaweiApiGatewayAdapter}
5
- *
6
- * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
7
- * @public
8
- */
9
- export interface HuaweiApiGatewayOptions {
10
- /**
11
- * Strip base path for custom domains
12
- *
13
- * @defaultValue ''
14
- */
15
- stripBasePath?: string;
16
- }
17
- /**
18
- * The adapter to handle requests from Huawei Api Gateway
19
- *
20
- * @example
21
- * ```typescript
22
- * const stripBasePath = '/any/custom/base/path'; // default ''
23
- * const adapter = new ApiGatewayAdapter({ stripBasePath });
24
- * ```
25
- *
26
- * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
27
- * @public
28
- *
29
- * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}
30
- */
31
- export declare class HuaweiApiGatewayAdapter implements AdapterContract<HuaweiApiGatewayEvent, HuaweiContext, HuaweiApiGatewayResponse> {
32
- protected readonly options?: HuaweiApiGatewayOptions | undefined;
33
- /**
34
- * Default constructor
35
- *
36
- * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}
37
- */
38
- constructor(options?: HuaweiApiGatewayOptions | undefined);
39
- /**
40
- * {@inheritDoc}
41
- */
42
- getAdapterName(): string;
43
- /**
44
- * {@inheritDoc}
45
- */
46
- canHandle(event: unknown): event is HuaweiApiGatewayEvent;
47
- /**
48
- * {@inheritDoc}
49
- */
50
- getRequest(event: HuaweiApiGatewayEvent): AdapterRequest;
51
- /**
52
- * {@inheritDoc}
53
- */
54
- getResponse({ headers: responseHeaders, body, isBase64Encoded, statusCode, }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse;
55
- /**
56
- * {@inheritDoc}
57
- */
58
- onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void;
59
- /**
60
- * Get path from event with query strings
61
- *
62
- * @param event - The event sent by serverless
63
- */
64
- protected getPathFromEvent(event: HuaweiApiGatewayEvent): string;
65
- }
66
- export declare type __ΩHuaweiApiGatewayOptions = any[];
@@ -1 +0,0 @@
1
- export * from './huawei-api-gateway.adapter';
@@ -1,155 +0,0 @@
1
- /// <reference types="node" />
2
- import { BothValueHeaders, SingleValueHeaders } from '../@types';
3
- import { ILogger } from '../core';
4
- import { ServerlessResponse } from '../network';
5
- import { DelegatedResolver } from './resolver.contract';
6
- /**
7
- * The request interface used to bridge any event source to the framework.
8
- *
9
- * @breadcrumb Contracts / AdapterContract
10
- * @public
11
- */
12
- export interface AdapterRequest {
13
- /**
14
- * The HTTP Method to use to create the request to the framework
15
- */
16
- method: string;
17
- /**
18
- * The path to use to create the request to the framework
19
- */
20
- path: string;
21
- /**
22
- * The headers to use to create the request to the framework
23
- */
24
- headers: SingleValueHeaders;
25
- /**
26
- * The body as buffer to use to create the request to the framework
27
- */
28
- body?: Buffer;
29
- /**
30
- * The remote address (client ip) to use to create the request to the framework
31
- */
32
- remoteAddress?: string;
33
- /**
34
- * The address of the event source (used in Lambda\@edge)
35
- *
36
- * @deprecated It is no longer used in the library and will be removed in the next major release.
37
- */
38
- host?: string;
39
- /**
40
- * The address of the event source (used in Lambda\@edge)
41
- *
42
- * @deprecated It is no longer used in the library and will be removed in the next major release.
43
- */
44
- hostname?: string;
45
- }
46
- /**
47
- * The props of the method that get the response from the framework and transform it into a format that the event source can handle
48
- *
49
- * @breadcrumb Contracts / AdapterContract
50
- * @public
51
- */
52
- export interface GetResponseAdapterProps<TEvent> {
53
- /**
54
- * The event sent by the serverless
55
- */
56
- event: TEvent;
57
- /**
58
- * The framework {@link ServerlessResponse | response}.
59
- *
60
- * @remarks It can be optional, as this method can be used when an error occurs during the handling of the request by the framework.
61
- */
62
- response?: ServerlessResponse;
63
- /**
64
- * The framework response status code
65
- */
66
- statusCode: number;
67
- /**
68
- * The framework response body
69
- */
70
- body: string;
71
- /**
72
- * The framework response headers
73
- */
74
- headers: BothValueHeaders;
75
- /**
76
- * Indicates whether the response is base64 encoded or not
77
- */
78
- isBase64Encoded: boolean;
79
- /**
80
- * The instance of the logger
81
- */
82
- log: ILogger;
83
- }
84
- /**
85
- * The props of the method that handle the response when an error occurs while forwarding the request to the framework
86
- *
87
- * @breadcrumb Contracts / AdapterContract
88
- * @public
89
- */
90
- export interface OnErrorProps<TEvent, TResponse> {
91
- /**
92
- * The event sent by the serverless
93
- */
94
- event: TEvent;
95
- /**
96
- * The error throwed during forwarding
97
- */
98
- error: Error;
99
- /**
100
- * The instance of the resolver
101
- */
102
- delegatedResolver: DelegatedResolver<TResponse>;
103
- /**
104
- * Indicates whether to forward the (error.stack) or not to the client
105
- */
106
- respondWithErrors: boolean;
107
- /**
108
- * The instance of the logger
109
- */
110
- log: ILogger;
111
- }
112
- /**
113
- * The interface that represents a contract between the adapter and the actual implementation of the adapter.
114
- *
115
- * @breadcrumb Contracts / AdapterContract
116
- * @public
117
- */
118
- export interface AdapterContract<TEvent, TContext, TResponse> {
119
- /**
120
- * Get the adapter name
121
- */
122
- getAdapterName(): string;
123
- /**
124
- * Decide if this adapter can handle a request based in the event payload
125
- *
126
- * @param event - The event sent by serverless
127
- * @param context - The context sent by the serverless
128
- * @param log - The instance of logger
129
- */
130
- canHandle(event: unknown, context: TContext, log: ILogger): boolean;
131
- /**
132
- * Maps the serverless payload to an actual request that a framework can handle
133
- *
134
- * @param event - The event sent by serverless
135
- * @param context - The context sent by the serverless
136
- * @param log - The instance of logger
137
- */
138
- getRequest(event: TEvent, context: TContext, log: ILogger): AdapterRequest;
139
- /**
140
- * Maps the response of the framework to a payload that serverless can handle
141
- *
142
- * @param props - The props sent by serverless
143
- */
144
- getResponse(props: GetResponseAdapterProps<TEvent>): TResponse;
145
- /**
146
- * When an error occurs while forwarding the request to the framework
147
- *
148
- * @remarks You must call resolver.fail or resolver.succeed when implementing this method.
149
- */
150
- onErrorWhileForwarding(props: OnErrorProps<TEvent, TResponse>): void;
151
- }
152
- export declare type __ΩAdapterRequest = any[];
153
- export declare type __ΩGetResponseAdapterProps = any[];
154
- export declare type __ΩOnErrorProps = any[];
155
- export declare type __ΩAdapterContract = any[];
@@ -1,19 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- /**
4
- * The interface that represents a contract between the framework and the framework implementation
5
- *
6
- * @breadcrumb Contracts
7
- * @public
8
- */
9
- export interface FrameworkContract<TApp> {
10
- /**
11
- * Send the request and response objects to the framework
12
- *
13
- * @param app - The instance of your app (Express, Fastify, Koa, etc...)
14
- * @param request - The request object that will be forward to your app
15
- * @param response - The response object that will be forward to your app to output the response
16
- */
17
- sendRequest(app: TApp, request: IncomingMessage, response: ServerResponse): void;
18
- }
19
- export declare type __ΩFrameworkContract = any[];
@@ -1,26 +0,0 @@
1
- import { BinarySettings } from '../@types';
2
- import { ILogger } from '../core';
3
- import { AdapterContract } from './adapter.contract';
4
- import { FrameworkContract } from './framework.contract';
5
- import { ResolverContract } from './resolver.contract';
6
- /**
7
- * The function used to handle serverless requests
8
- *
9
- * @breadcrumb Contracts / HandlerContract
10
- * @public
11
- */
12
- export declare type ServerlessHandler<TReturn> = (...args: any[]) => TReturn;
13
- /**
14
- * The interface that represents the contract between the handler and the real implementation
15
- *
16
- * @breadcrumb Contracts / HandlerContract
17
- * @public
18
- */
19
- export interface HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
20
- /**
21
- * Get the handler that will handle serverless requests
22
- */
23
- 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>;
24
- }
25
- export declare type __ΩServerlessHandler = any[];
26
- export declare type __ΩHandlerContract = any[];
@@ -1,4 +0,0 @@
1
- export * from './adapter.contract';
2
- export * from './framework.contract';
3
- export * from './handler.contract';
4
- export * from './resolver.contract';
@@ -1,86 +0,0 @@
1
- import { ILogger } from '../core';
2
- import { AdapterContract } from './adapter.contract';
3
- /**
4
- * The type that represents a resolver used to send the response, error or success, to the client
5
- *
6
- * @breadcrumb Contracts / ResolverContract
7
- * @public
8
- */
9
- export declare type Resolver<TResponse, TReturn> = {
10
- /**
11
- * The method that will perform the task of forwarding the request to the framework and waiting for the promise to be resolved with the response
12
- *
13
- * @param task - The task to be executed
14
- */
15
- run(task: () => Promise<TResponse>): TReturn;
16
- };
17
- /**
18
- * The type that represents a delegate resolver that is passed to the adapter to handle what to do when an error occurs during forwarding.
19
- *
20
- * @breadcrumb Contracts / ResolverContract
21
- * @public
22
- */
23
- export declare type DelegatedResolver<TResponse> = {
24
- /**
25
- * Send the success response to the client
26
- *
27
- * @param success - The serverless response
28
- */
29
- succeed: (response: TResponse) => void;
30
- /**
31
- * Send the error response to the client
32
- *
33
- * @param error - The error object
34
- */
35
- fail: (error: Error) => void;
36
- };
37
- /**
38
- * The createResolver contract props
39
- *
40
- * @breadcrumb Contracts / ResolverContract
41
- * @public
42
- */
43
- export declare type ResolverProps<TEvent, TContext, TCallback, TResponse> = {
44
- /**
45
- * The event sent by the serverless environment
46
- */
47
- event: TEvent;
48
- /**
49
- * Indicates whether to forward the (error.stack) or not to the client
50
- */
51
- respondWithErrors: boolean;
52
- /**
53
- * The instance of the logger
54
- */
55
- log: ILogger;
56
- /**
57
- * The instance of the adapter
58
- */
59
- adapter: AdapterContract<TEvent, TContext, TResponse>;
60
- /**
61
- * The context sent by serverless
62
- */
63
- context?: TContext;
64
- /**
65
- * The callback sent by serverless
66
- */
67
- callback?: TCallback;
68
- };
69
- /**
70
- * The interface that represents the contract used to send the response to the client
71
- *
72
- * @breadcrumb Contracts / ResolverContract
73
- * @public
74
- */
75
- export interface ResolverContract<TEvent, TContext, TCallback, TResponse, TReturn> {
76
- /**
77
- * Create the resolver based on the context, callback or promise
78
- *
79
- * @param props - The props used to create the resolver
80
- */
81
- createResolver(props: ResolverProps<TEvent, TContext, TCallback, TResponse>): Resolver<TResponse, TReturn>;
82
- }
83
- export declare type __ΩResolver = any[];
84
- export declare type __ΩDelegatedResolver = any[];
85
- export declare type __ΩResolverProps = any[];
86
- export declare type __ΩResolverContract = any[];
@@ -1,31 +0,0 @@
1
- import { BinarySettings } from '../@types';
2
- import { AdapterContract, AdapterRequest, FrameworkContract, HandlerContract, ResolverContract, ServerlessHandler } from '../contracts';
3
- import { ServerlessRequest, ServerlessResponse } from '../network';
4
- import { ILogger } from './index';
5
- /**
6
- * The abstract class that represents the base class for a handler
7
- *
8
- * @breadcrumb Core
9
- * @public
10
- */
11
- export declare abstract class BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> implements HandlerContract<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
12
- /**
13
- * Get the handler that will handle serverless requests
14
- */
15
- 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>;
16
- /**
17
- * Get the adapter to handle a specific event and context
18
- *
19
- * @param event - The event sent by serverless
20
- * @param context - The context sent by serverless
21
- * @param adapters - The list of adapters
22
- * @param log - The instance of logger
23
- */
24
- protected getAdapterByEventAndContext(event: TEvent, context: TContext, adapters: AdapterContract<TEvent, TContext, TResponse>[], log: ILogger): AdapterContract<TEvent, TContext, TResponse>;
25
- /**
26
- * Get serverless request and response frmo the adapter request
27
- *
28
- * @param requestValues - The request values from adapter
29
- */
30
- protected getServerlessRequestResponseFromAdapterRequest(requestValues: AdapterRequest): [request: ServerlessRequest, response: ServerlessResponse];
31
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * Default encodings that are treated as binary, they are compared with the `Content-Encoding` header.
3
- *
4
- * @breadcrumb Core / Constants
5
- * @defaultValue ['gzip', 'deflate', 'br']
6
- * @public
7
- */
8
- export declare const DEFAULT_BINARY_ENCODINGS: string[];
9
- /**
10
- * Default content types that are treated as binary, they are compared with the `Content-Type` header.
11
- *
12
- * @breadcrumb Core / Constants
13
- * @defaultValue [new RegExp('^image/.*$'), new RegExp('^video/.*$'), 'application/pdf']
14
- * @public
15
- */
16
- export declare const DEFAULT_BINARY_CONTENT_TYPES: (string | RegExp)[];
17
- /**
18
- * Type alias for empty response and can be used on some adapters when the adapter does not need to return a response.
19
- *
20
- * @breadcrumb Core / Constants
21
- * @public
22
- */
23
- export declare type IEmptyResponse = {};
24
- /**
25
- * Constant for empty response and can be used on some adapters when the adapter does not need to return a response.
26
- *
27
- * @breadcrumb Core / Constants
28
- * @public
29
- */
30
- export declare const EmptyResponse: IEmptyResponse;
31
- export declare type __ΩIEmptyResponse = any[];
@@ -1,48 +0,0 @@
1
- /**
2
- * The type that represents the object that handles the references to the event created by the serverless trigger or context created by the serverless environment.
3
- *
4
- * @breadcrumb Core / Current Invoke
5
- * @public
6
- */
7
- export declare type CurrentInvoke<TEvent, TContext> = {
8
- /**
9
- * The event created by the serverless trigger
10
- *
11
- * @remarks It's only null when you call {@link getCurrentInvoke} outside this library's pipeline.
12
- */
13
- event: TEvent | null;
14
- /**
15
- * The context created by the serverless environment
16
- *
17
- * @remarks It's only null when you call {@link getCurrentInvoke} outside this library's pipeline.
18
- */
19
- context: TContext | null;
20
- };
21
- /**
22
- * Get the reference to the event created by the serverless trigger or context created by the serverless environment.
23
- *
24
- * @example
25
- * ```typescript
26
- * import type { ALBEvent, Context } from 'aws-lambda';
27
- *
28
- * // inside the method that handles the aws alb request.
29
- * const { event, context } = getCurrentInvoke<ALBEvent, Context>();
30
- * ```
31
- *
32
- * @breadcrumb Core / Current Invoke
33
- * @public
34
- */
35
- export declare function getCurrentInvoke<TEvent = any, TContext = any>(): CurrentInvoke<TEvent, TContext>;
36
- /**
37
- * Method that saves to the event created by the serverless trigger or context created by the serverless environment.
38
- *
39
- * @remarks This method MUST NOT be called by you, this method MUST only be used internally in this library.
40
- *
41
- * @param event - The event created by the serverless trigger
42
- * @param context - The context created by the serverless environment
43
- *
44
- * @breadcrumb Core / Current Invoke
45
- * @public
46
- */
47
- export declare function setCurrentInvoke<TEvent = any, TContext = any>({ event, context, }: CurrentInvoke<TEvent, TContext>): void;
48
- export declare type __ΩCurrentInvoke = any[];
@@ -1,21 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- * Get the event body as buffer from body string with content length
4
- *
5
- * @example
6
- * ```typescript
7
- * const body = '{}';
8
- * const [buffer, contentLength] = getEventBodyAsBuffer(body, false);
9
- * console.log(buffer);
10
- * // <Buffer 7b 7d>
11
- * console.log(contentLength);
12
- * // 2
13
- * ```
14
- *
15
- * @param body - The body string that can be encoded or not
16
- * @param isBase64Encoded - Tells if body string is encoded in base64
17
- *
18
- * @breadcrumb Core
19
- * @public
20
- */
21
- export declare function getEventBodyAsBuffer(body: string, isBase64Encoded: boolean): [body: Buffer, contentLength: number];
@@ -1,37 +0,0 @@
1
- import { BothValueHeaders } from '../@types';
2
- /**
3
- * Transform a header map and make sure the value is not an array
4
- *
5
- * @example
6
- * ```typescript
7
- * const headers = { 'accept-encoding': 'gzip', 'accept-language': ['en-US', 'en;q=0.9'] };
8
- * const flattenedHeaders = getFlattenedHeadersMap(headers, ',', true);
9
- * console.log(flattenedHeaders);
10
- * // { 'accept-encoding': 'gzip', 'accept-language': 'en-US,en;q=0.9' }
11
- * ```
12
- *
13
- * @param headersMap - The initial headers
14
- * @param separator - The separator used when we join the array of header's value
15
- * @param lowerCaseKey - Should put all keys in lowercase
16
- *
17
- * @breadcrumb Core / Headers
18
- * @public
19
- */
20
- export declare function getFlattenedHeadersMap(headersMap: BothValueHeaders, separator?: string, lowerCaseKey?: boolean): Record<string, string>;
21
- /**
22
- * Transforms a header map into a multi-value map header.
23
- *
24
- * @example
25
- * ```typescript
26
- * const headers = { 'accept-encoding': 'gzip', 'connection': ['keep-alive'] };
27
- * const multiValueHeaders = getMultiValueHeadersMap(headers);
28
- * console.log(multiValueHeaders);
29
- * // { 'accept-encoding': ['gzip'], 'connection': ['keep-alive'] }
30
- * ```
31
- *
32
- * @param headersMap - The initial headers
33
- *
34
- * @breadcrumb Core / Headers
35
- * @public
36
- */
37
- export declare function getMultiValueHeadersMap(headersMap: BothValueHeaders): Record<string, string[]>;
@@ -1,11 +0,0 @@
1
- export * from './base-handler';
2
- export * from './constants';
3
- export * from './current-invoke';
4
- export * from './event-body';
5
- export * from './headers';
6
- export * from './is-binary';
7
- export * from './logger';
8
- export * from './no-op';
9
- export * from './optional';
10
- export * from './path';
11
- export * from './stream';
@@ -1,72 +0,0 @@
1
- import { BinarySettings, BothValueHeaders } from '../@types';
2
- /**
3
- * The function that determines by the content encoding whether the response should be treated as binary
4
- *
5
- * @example
6
- * ```typescript
7
- * const headers = { 'Content-Encoding': 'gzip' };
8
- * const isBinary = isContentEncodingBinary(headers, ['gzip']);
9
- * console.log(isBinary);
10
- * // true
11
- * ```
12
- *
13
- * @param headers - The headers of the response
14
- * @param binaryEncodingTypes - The list of content encodings that will be treated as binary
15
- *
16
- * @breadcrumb Core / isBinary
17
- * @public
18
- */
19
- export declare function isContentEncodingBinary(headers: BothValueHeaders, binaryEncodingTypes: string[]): boolean;
20
- /**
21
- * The function that returns the content type of headers
22
- *
23
- * @example
24
- * ```typescript
25
- * const headers = { 'Content-Type': 'application/json' };
26
- * const contentType = getContentType(headers);
27
- * console.log(contentType);
28
- * // application/json
29
- * ```
30
- *
31
- * @param headers - The headers of the response
32
- *
33
- * @breadcrumb Core / isBinary
34
- * @public
35
- */
36
- export declare function getContentType(headers: BothValueHeaders): string;
37
- /**
38
- * The function that determines by the content type whether the response should be treated as binary
39
- *
40
- * @example
41
- * ```typescript
42
- * const headers = { 'Content-Type': 'image/png' };
43
- * const isBinary = isContentTypeBinary(headers, [new RegExp('^image/.*$')]);
44
- * console.log(isBinary);
45
- * // true
46
- * ```
47
- *
48
- * @param headers - The headers of the response
49
- * @param binaryContentTypes - The list of content types that will be treated as binary
50
- *
51
- * @breadcrumb Core / isBinary
52
- * @public
53
- */
54
- export declare function isContentTypeBinary(headers: BothValueHeaders, binaryContentTypes: (string | RegExp)[]): boolean;
55
- /**
56
- * The function used to determine from the headers and the binary settings if a response should be encoded or not
57
- *
58
- * @example
59
- * ```typescript
60
- * const headers = { 'Content-Type': 'image/png', 'Content-Encoding': 'gzip' };
61
- * const isContentBinary = isBinary(headers, { contentEncodings: ['gzip'], contentTypes: [new RegExp('^image/.*$')] });
62
- * console.log(isContentBinary);
63
- * // true
64
- * ```
65
- *
66
- * @param headers - The headers of the response
67
- * @param binarySettings - The settings for the validation
68
- *
69
- * @breadcrumb Core / isBinary
70
- * @public
71
- */
72
- export declare function isBinary(headers: BothValueHeaders, binarySettings: BinarySettings): boolean;