@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,55 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import { FrameworkContract } from '../../contracts';
4
- import { ILogger } from '../../core';
5
- /**
6
- * The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.
7
- *
8
- * @example
9
- * ```typescript
10
- * import express from 'express';
11
- * import { ServerlessAdapter } from '@h4ad/serverless-adapter';
12
- * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';
13
- * import { LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';
14
- *
15
- * const expressFramework = new ExpressFramework();
16
- * const factory = async () => {
17
- * const app = express();
18
- *
19
- * // do some asynchronous stuffs like create the database;
20
- * await new Promise(resolve => setTimeout(resolve, 100);
21
- *
22
- * return app;
23
- * };
24
- * const framework = new LazyFramework(expressFramework, factory);
25
- *
26
- * export const handler = ServerlessAdapter.new(null)
27
- * .setFramework(framework)
28
- * // set other configurations and then build
29
- * .build();
30
- * ```
31
- *
32
- * @breadcrumb Frameworks / LazyFramework
33
- * @public
34
- */
35
- export declare class LazyFramework<TApp> implements FrameworkContract<null> {
36
- protected readonly framework: FrameworkContract<TApp>;
37
- protected readonly factory: () => Promise<TApp>;
38
- protected readonly logger: ILogger;
39
- /**
40
- * Default Constructor
41
- */
42
- constructor(framework: FrameworkContract<TApp>, factory: () => Promise<TApp>, logger?: ILogger);
43
- /**
44
- * The cached version of the app
45
- */
46
- protected cachedApp?: TApp;
47
- /**
48
- * The delayed factory to create an instance of the app
49
- */
50
- protected readonly delayedFactory: Promise<void>;
51
- /**
52
- * {@inheritDoc}
53
- */
54
- sendRequest(app: null, request: IncomingMessage, response: ServerResponse): void;
55
- }
@@ -1 +0,0 @@
1
- export * from './trpc.framework';
@@ -1,154 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import type { AnyRouter, DataTransformer } from '@trpc/server';
4
- import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from '@trpc/server/adapters/node-http';
5
- import { SingleValueHeaders } from '../../@types';
6
- import { FrameworkContract } from '../../contracts';
7
- /**
8
- * The transformer that is responsible to transform buffer's input to javascript objects
9
- *
10
- * @breadcrumb Frameworks / TrpcFramework
11
- * @public
12
- */
13
- export declare class BufferToJSObjectTransformer implements DataTransformer {
14
- /**
15
- * Deserialize unknown values to javascript objects
16
- *
17
- * @param value - The value to be deserialized
18
- */
19
- deserialize(value?: unknown): any;
20
- /**
21
- * The value to be serialized, do nothing because tRPC can handle.
22
- *
23
- * @param value - The value to be serialized
24
- */
25
- serialize(value: any): any;
26
- }
27
- /**
28
- * The context created by this library that allows getting some information from the request and setting the status and header of the response.
29
- *
30
- * @breadcrumb Frameworks / TrpcFramework
31
- * @public
32
- */
33
- export interface TrpcAdapterBaseContext {
34
- /**
35
- * The request object that will be forward to your app
36
- */
37
- request: IncomingMessage;
38
- /**
39
- * The response object that will be forward to your app to output the response
40
- */
41
- response: ServerResponse;
42
- /**
43
- * The method to set response status.
44
- *
45
- * @param statusCode - The response status that you want
46
- */
47
- setStatus(statusCode: number): void;
48
- /**
49
- * The method to set some header in the response
50
- *
51
- * @param name - The name of the header
52
- * @param value - The value to be set in the header
53
- */
54
- setHeader(name: string, value: number | string): void;
55
- /**
56
- * The method to remove some header from the response
57
- *
58
- * @param name - The name of the header
59
- */
60
- removeHeader(name: string): void;
61
- /**
62
- * The method to return the value of some header from the request
63
- *
64
- * @param name - The name of the header
65
- */
66
- getHeader(name: string): string | undefined;
67
- /**
68
- * The method to return the request headers
69
- */
70
- getHeaders(): SingleValueHeaders;
71
- /**
72
- * The method to return user's address
73
- */
74
- getIp(): string | undefined;
75
- /**
76
- * The method to return the URL called
77
- */
78
- getUrl(): string | undefined;
79
- /**
80
- * The method to return the HTTP Method in the request
81
- */
82
- getMethod(): string | undefined;
83
- }
84
- /**
85
- * This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.
86
- *
87
- * This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.
88
- * So to make the type work, just send the properties you've added inside {@link TContext}.
89
- *
90
- * @example
91
- * ```typescript
92
- * type MyCustomContext = { user: { name: string } };
93
- * type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router
94
- * ```
95
- *
96
- * @breadcrumb Frameworks / TrpcFramework
97
- * @public
98
- */
99
- export declare type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;
100
- /**
101
- * The options to customize the {@link TrpcFramework}
102
- *
103
- * @breadcrumb Frameworks / TrpcFramework
104
- * @public
105
- */
106
- export declare type TrpcFrameworkOptions<TContext> = Omit<NodeHTTPHandlerOptions<AnyRouter<TContext>, IncomingMessage, ServerResponse>, 'router' | 'createContext'> & {
107
- createContext?: (opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>) => Omit<TContext, keyof TrpcAdapterBaseContext> | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;
108
- };
109
- /**
110
- * The framework that forwards requests to TRPC handler
111
- *
112
- * @breadcrumb Frameworks / TrpcFramework
113
- * @public
114
- */
115
- export declare class TrpcFramework<TContext extends TrpcAdapterBaseContext> implements FrameworkContract<AnyRouter<TContext>> {
116
- protected readonly options?: TrpcFrameworkOptions<TContext> | undefined;
117
- /**
118
- * Default constructor
119
- */
120
- constructor(options?: TrpcFrameworkOptions<TContext> | undefined);
121
- /**
122
- * {@inheritDoc}
123
- */
124
- sendRequest(app: AnyRouter<TContext>, request: IncomingMessage, response: ServerResponse): void;
125
- /**
126
- * Get safe url that can be used inside Trpc.
127
- *
128
- * @example
129
- * ```typescript
130
- * const url = getSafeUrlForTrpc('/users?input=hello');
131
- * console.log(url); // users
132
- * ```
133
- *
134
- * @param request - The request object that will be forward to your app
135
- */
136
- protected getSafeUrlForTrpc(request: IncomingMessage): string;
137
- /**
138
- * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.
139
- *
140
- * @param createContextOptions - The options sent by trpc to create the context
141
- */
142
- protected mergeDefaultContextWithOptionsContext(createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext | Promise<TContext>;
143
- /**
144
- * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge
145
- * with the {@link TrpcAdapterContext} generated by the library.
146
- *
147
- * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}
148
- * @param createContextOptions - The options sent by trpc to create the context
149
- */
150
- protected wrapResolvedContextWithDefaultContext(resolvedContext: TContext, createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext;
151
- }
152
- export declare type __ΩTrpcAdapterBaseContext = any[];
153
- export declare type __ΩTrpcAdapterContext = any[];
154
- export declare type __ΩTrpcFrameworkOptions = any[];
@@ -1,45 +0,0 @@
1
- import type { Context } from '@azure/functions';
2
- import { BinarySettings } from '../../@types';
3
- import { AdapterContract, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
4
- import { ILogger } from '../../core';
5
- import { DefaultHandler } from '../default';
6
- /**
7
- * The options to customize {@link AzureHandler}
8
- *
9
- * @breadcrumb Handlers / AzureHandler
10
- * @public
11
- */
12
- export interface AzureHandlerOptions {
13
- /**
14
- * Indicates to use the context log instead console.log when logger is internal (created by the library)
15
- *
16
- * @defaultValue true
17
- */
18
- useContextLogWhenInternalLogger: boolean;
19
- }
20
- /**
21
- * The class that implements a serverless handler for Azure Function.
22
- *
23
- * When you don't specify a custom logger, the {@link Context} logger is used instead.
24
- *
25
- * @breadcrumb Handlers / AzureHandler
26
- * @public
27
- */
28
- export declare class AzureHandler<TApp, TEvent, TCallback, TResponse, TReturn> extends DefaultHandler<TApp, TEvent, Context, TCallback, TResponse, TReturn> {
29
- protected readonly options?: AzureHandlerOptions | undefined;
30
- /**
31
- * Default Constructor
32
- */
33
- constructor(options?: AzureHandlerOptions | undefined);
34
- /**
35
- * {@inheritDoc}
36
- */
37
- getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, Context, TResponse>[], resolverFactory: ResolverContract<TEvent, Context, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
38
- /**
39
- * Get the {@link ILogger} instance from logger of the context
40
- *
41
- * @param context - The Azure Context
42
- */
43
- protected createLoggerFromContext(context: Context): ILogger;
44
- }
45
- export declare type __ΩAzureHandlerOptions = any[];
@@ -1 +0,0 @@
1
- export * from './azure.handler';
@@ -1 +0,0 @@
1
- export * from './raw-request';
@@ -1,30 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import { FrameworkContract } from '../../contracts/index';
4
- import { ServerlessRequest } from '../../network/index';
5
- /**
6
- * The class that expose some methods to be used to get raw request from Express HTTP Request
7
- *
8
- * @breadcrumb Handlers / Base / RawRequest
9
- * @public
10
- */
11
- export declare abstract class RawRequest<TApp> {
12
- /**
13
- * The callback to when receive some request from external source
14
- *
15
- * @param app - The instance of the app
16
- * @param framework - The framework for the app
17
- */
18
- protected onRequestCallback(app: TApp, framework: FrameworkContract<TApp>): (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
19
- /**
20
- * Not sure why they think using Express instance with prebuilt middlewares was a good idea, but Firebase/GCP
21
- * decides to use `Express` and `body-parser` by default, so you don't get a raw request, instead, you get a modified version by
22
- * Express and also with the body parsed by `body-parser`.
23
- * If you use NestJS or Express it's awesome, but for the rest of the frameworks it's terrible!
24
- * That's why I have this method, just to try and create a raw request to be used and passed to the frameworks so they can handle the request
25
- * as if they received the request from the native http module.
26
- *
27
- * @param request - The Express request
28
- */
29
- protected getRequestFromExpressRequest(request: IncomingMessage): ServerlessRequest;
30
- }
@@ -1,87 +0,0 @@
1
- import { BinarySettings, SingleValueHeaders } from '../../@types';
2
- import { AdapterContract, AdapterRequest, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
3
- import { BaseHandler, ILogger } from '../../core';
4
- import { ServerlessResponse } from '../../network';
5
- /**
6
- * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively
7
- *
8
- * @breadcrumb Handlers / DefaultHandler
9
- * @public
10
- */
11
- export declare class DefaultHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> extends BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
12
- /**
13
- * {@inheritDoc}
14
- */
15
- 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
- * The hook executed on receive a request, before the request is being processed
18
- *
19
- * @param log - The instance of logger
20
- * @param event - The event sent by serverless
21
- * @param context - The context sent by serverless
22
- * @param binarySettings - The binary settings
23
- * @param respondWithErrors - Indicates whether the error stack should be included in the response or not
24
- */
25
- protected onReceiveRequest(log: ILogger, event: TEvent, context: TContext, binarySettings: BinarySettings, respondWithErrors: boolean): void;
26
- /**
27
- * The hook executed after resolve the adapter that will be used to handle the request and response
28
- *
29
- * @param log - The instance of logger
30
- * @param adapter - The adapter resolved
31
- */
32
- protected onResolveAdapter(log: ILogger, adapter: AdapterContract<TEvent, TContext, TResponse>): void;
33
- /**
34
- * The hook executed after resolves the request values that will be sent to the framework
35
- *
36
- * @param log - The instance of logger
37
- * @param requestValues - The request values returned by the adapter
38
- */
39
- protected onResolveRequestValues(log: ILogger, requestValues: AdapterRequest): void;
40
- /**
41
- * The hook executed after handling the response sent by the framework
42
- *
43
- * @param log - The instance of logger
44
- * @param response - The response sent by the framework
45
- */
46
- protected onResolveForwardedResponseToFramework(log: ILogger, response: ServerlessResponse): void;
47
- /**
48
- * The hook executed before sending response to the serverless
49
- *
50
- * @param log - The instance of logger
51
- * @param statusCode - The status code of the response
52
- * @param body - The body of the response
53
- * @param headers - The headers of the response
54
- * @param isBase64Encoded - Indicates whether the response was encoded as binary or not
55
- */
56
- protected onForwardResponse(log: ILogger, statusCode: number, body: string, headers: SingleValueHeaders, isBase64Encoded: boolean): void;
57
- /**
58
- * The hook executed before sending response to the serverless with response from adapter
59
- *
60
- * @param log - The instance of logger
61
- * @param successResponse - The success response resolved by the adapter
62
- * @param body - The body of the response sent by the framework
63
- */
64
- protected onForwardResponseAdapterResponse(log: ILogger, successResponse: TResponse, body: string): void;
65
- /**
66
- * The function to forward the event to the framework
67
- *
68
- * @param app - The instance of the app (express, hapi, etc...)
69
- * @param framework - The framework that will process requests
70
- * @param event - The event sent by serverless
71
- * @param context - The context sent by serverless
72
- * @param adapter - The adapter resolved to this event
73
- * @param log - The instance of logger
74
- * @param binarySettings - The binary settings
75
- */
76
- protected forwardRequestToFramework(app: TApp, framework: FrameworkContract<TApp>, event: TEvent, context: TContext, adapter: AdapterContract<TEvent, TContext, TResponse>, binarySettings: BinarySettings, log: ILogger): Promise<TResponse>;
77
- /**
78
- * The function to forward the response back to the serverless
79
- *
80
- * @param event - The event sent by serverless
81
- * @param response - The response of the framework
82
- * @param adapter - The adapter resolved to this event
83
- * @param binarySettings - The binary settings
84
- * @param log - The instance of logger
85
- */
86
- protected forwardResponse(event: TEvent, response: ServerlessResponse, adapter: AdapterContract<TEvent, TContext, TResponse>, binarySettings: BinarySettings, log: ILogger): TResponse;
87
- }
@@ -1 +0,0 @@
1
- export * from './default.handler';
@@ -1,16 +0,0 @@
1
- import { BinarySettings } from '../../@types';
2
- import { AdapterContract, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
3
- import { ILogger } from '../../core';
4
- import { DefaultHandler } from '../default';
5
- /**
6
- * The class that implements a serverless handler for Digital Ocean Functions.
7
- *
8
- * @breadcrumb Handlers / DigitalOceanHandler
9
- * @public
10
- */
11
- export declare class DigitalOceanHandler<TApp, TEvent, TResponse, TReturn> extends DefaultHandler<TApp, TEvent, void, void, TResponse, TReturn> {
12
- /**
13
- * {@inheritDoc}
14
- */
15
- getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, void, TResponse>[], resolverFactory: ResolverContract<TEvent, void, void, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
16
- }
@@ -1 +0,0 @@
1
- export * from './digital-ocean.handler';
@@ -1,26 +0,0 @@
1
- import { https } from 'firebase-functions/v2';
2
- import { FrameworkContract, HandlerContract } from '../../contracts';
3
- import { RawRequest } from '../base';
4
- /**
5
- * The class that implements a handler for Firebase Https Events
6
- *
7
- * @remarks Read more about Https Events {@link https://firebase.google.com/docs/functions/http-events | here}
8
- *
9
- * @breadcrumb Handlers / HttpFirebaseHandler
10
- * @public
11
- */
12
- export declare class HttpFirebaseV2Handler<TApp> extends RawRequest<TApp> implements HandlerContract<TApp, never, never, never, void, void | Promise<void>> {
13
- protected readonly options?: https.HttpsOptions | undefined;
14
- /**
15
- * Construtor padrão
16
- */
17
- constructor(options?: https.HttpsOptions | undefined);
18
- /**
19
- * {@inheritDoc}
20
- */
21
- getHandler(app: TApp, framework: FrameworkContract<TApp>): ReturnType<HttpFirebaseV2Handler<TApp>['onRequestCallback']>;
22
- /**
23
- * Wrapper method around onRequest for better testability
24
- */
25
- protected onRequestWithOptions(options: https.HttpsOptions, callback: ReturnType<HttpFirebaseV2Handler<TApp>['onRequestCallback']>): ReturnType<HttpFirebaseV2Handler<TApp>['onRequestCallback']>;
26
- }
@@ -1,18 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import { FrameworkContract, HandlerContract } from '../../contracts';
4
- import { RawRequest } from '../base';
5
- /**
6
- * The class that implements a handler for Firebase Https Events
7
- *
8
- * @remarks Read more about Https Events {@link https://firebase.google.com/docs/functions/http-events | here}
9
- *
10
- * @breadcrumb Handlers / HttpFirebaseHandler
11
- * @public
12
- */
13
- export declare class HttpFirebaseHandler<TApp> extends RawRequest<TApp> implements HandlerContract<TApp, never, never, never, void, void | Promise<void>> {
14
- /**
15
- * {@inheritDoc}
16
- */
17
- getHandler(app: TApp, framework: FrameworkContract<TApp>): (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
18
- }
@@ -1,2 +0,0 @@
1
- export * from './http-firebase.handler';
2
- export * from './http-firebase-v2.handler';
@@ -1,25 +0,0 @@
1
- /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
3
- import { FrameworkContract, HandlerContract } from '../../contracts';
4
- import { RawRequest } from '../base/index';
5
- /**
6
- * The class that implements a handler for GCP Http Functions
7
- *
8
- * @remarks Read more about Http Cloud Function {@link https://cloud.google.com/functions/docs/create-deploy-http-nodejs | here}
9
- *
10
- * @breadcrumb Handlers / GCPHandler
11
- * @public
12
- */
13
- export declare class GCPHandler<TApp> extends RawRequest<TApp> implements HandlerContract<TApp, never, never, never, void, void | Promise<void>> {
14
- protected readonly name: string;
15
- /**
16
- * Default Constructor
17
- *
18
- * @param name - The name of this function, should be the during deploy.
19
- */
20
- constructor(name: string);
21
- /**
22
- * {@inheritDoc}
23
- */
24
- getHandler(app: TApp, framework: FrameworkContract<TApp>): (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
25
- }
@@ -1 +0,0 @@
1
- export * from './gcp.handler';
@@ -1,59 +0,0 @@
1
- /// <reference types="node" />
2
- import * as http from 'http';
3
- import { RequestListener } from 'http';
4
- import { BinarySettings } from '../../@types';
5
- import { AdapterContract, FrameworkContract, HandlerContract, ResolverContract, ServerlessHandler } from '../../contracts';
6
- import { ILogger } from '../../core';
7
- /**
8
- * The default port that huawei will proxy the request to your framework
9
- *
10
- * {@link https://support.huaweicloud.com/intl/en-us/ae-ad-1-usermanual-functiongraph/functiongraph_01_1442.html#functiongraph_01_1442__li194597302096 | Reference}
11
- *
12
- * @breadcrumb Handlers / HttpHuaweiHandler
13
- * @public
14
- */
15
- export declare const DEFAULT_HUAWEI_LISTEN_PORT: number;
16
- /**
17
- * The options to customize {@link HttpHuaweiHandler}
18
- *
19
- * @breadcrumb Handlers / HttpHuaweiHandler
20
- * @public
21
- */
22
- export declare type HttpHuaweiHandlerOptions = {
23
- /**
24
- * @defaultValue {@link DEFAULT_HUAWEI_LISTEN_PORT}
25
- */
26
- port?: number;
27
- /**
28
- * The factory to create a http server to use to listen huawei requests
29
- */
30
- httpServerFactory?: (requestListener: RequestListener) => http.Server;
31
- };
32
- /**
33
- * The class that implements a huawei serverless handler with http function that exposes a http server in specific port.
34
- *
35
- * In this Handler, you don't need to specific resolver and adapter, so you can use DummyAdapter and DummyResolver instead.
36
- *
37
- * @see https://support.huaweicloud.com/intl/en-us/ae-ad-1-usermanual-functiongraph/functiongraph_01_1442.html#functiongraph_01_1442__li194597302096
38
- *
39
- * @breadcrumb Handlers / HttpHuaweiHandler
40
- * @public
41
- */
42
- export declare class HttpHuaweiHandler<TApp> implements HandlerContract<TApp, void, void, void, void, Promise<void>> {
43
- protected readonly options?: HttpHuaweiHandlerOptions | undefined;
44
- /**
45
- * Construtor padrão
46
- */
47
- constructor(options?: HttpHuaweiHandlerOptions | undefined);
48
- /**
49
- * {@inheritDoc}
50
- */
51
- getHandler(app: TApp, framework: FrameworkContract<TApp>, _: AdapterContract<void, void, void>[], __: ResolverContract<void, void, void, void, void>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<Promise<void>>;
52
- /**
53
- * The method that creates the instance of http server
54
- *
55
- * @param requestListener - O método que lidará com as requisições recebidas
56
- */
57
- protected createHttpServer(requestListener: RequestListener): http.Server;
58
- }
59
- export declare type __ΩHttpHuaweiHandlerOptions = any[];
@@ -1 +0,0 @@
1
- export * from './http-huawei.handler';
package/lib/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './@types';
2
- export * from './contracts';
3
- export * from './core';
4
- export * from './network';
5
- export * from './serverless-adapter';
@@ -1,2 +0,0 @@
1
- export * from './request';
2
- export * from './response';
@@ -1,44 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { IncomingMessage } from 'http';
4
- import { SingleValueHeaders } from '../@types';
5
- /**
6
- * The properties to create a {@link ServerlessRequest}
7
- *
8
- * @breadcrumb Network / ServerlessRequest
9
- * @public
10
- */
11
- export interface ServerlessRequestProps {
12
- /**
13
- * The HTTP Method of the request
14
- */
15
- method: string;
16
- /**
17
- * The URL requested
18
- */
19
- url: string;
20
- /**
21
- * The headers from the event source
22
- */
23
- headers: SingleValueHeaders;
24
- /**
25
- * The body from the event source
26
- */
27
- body?: Buffer | Uint8Array;
28
- /**
29
- * The IP Address from caller
30
- */
31
- remoteAddress?: string;
32
- }
33
- /**
34
- * The class that represents an {@link http#IncomingMessage} created by the library to represent an actual request to the framework.
35
- *
36
- * @breadcrumb Network / ServerlessRequest
37
- * @public
38
- */
39
- export declare class ServerlessRequest extends IncomingMessage {
40
- constructor({ method, url, headers, body, remoteAddress, }: ServerlessRequestProps);
41
- ip?: string;
42
- body?: Buffer | Uint8Array;
43
- }
44
- export declare type __ΩServerlessRequestProps = any[];
@@ -1,48 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { IncomingMessage, ServerResponse } from 'http';
4
- declare const BODY: unique symbol;
5
- declare const HEADERS: unique symbol;
6
- /**
7
- * The properties to create a {@link ServerlessResponse}.
8
- *
9
- * @breadcrumb Network / ServerlessResponse
10
- * @public
11
- */
12
- export interface ServerlessResponseProps {
13
- /**
14
- * The HTTP Method from request
15
- */
16
- method?: string;
17
- }
18
- /**
19
- * The class that represents a response instance used to send to the framework and wait until the framework finishes processing the request.
20
- * Once it's happens, we use the properties from this response to built the response to the cloud.
21
- *
22
- * @breadcrumb Network / ServerlessResponse
23
- * @public
24
- */
25
- export declare class ServerlessResponse extends ServerResponse {
26
- constructor({ method }: ServerlessResponseProps);
27
- _header: string;
28
- _headers?: Record<any, any>;
29
- _wroteHeader?: boolean;
30
- [BODY]: any[];
31
- [HEADERS]: Record<any, any>;
32
- get headers(): Record<any, any>;
33
- static from(res: IncomingMessage): ServerlessResponse;
34
- static body(res: ServerlessResponse): Buffer;
35
- static headers(res: ServerlessResponse): import("http").OutgoingHttpHeaders & Record<any, any>;
36
- setHeader(key: string, value: number | string | readonly string[]): any;
37
- writeHead(statusCode: number, statusMessage?: string | any | any[], obj?: any | any[]): any;
38
- /**
39
- * I use ignore here because in nodejs 12.x, statusMessage can be string | OutgoingHttpHeaders
40
- * But in nodejs \>=14.x, statusMessage can also be OutgoingHttpHeaders[]
41
- * I take care of these cases above, but here I can't handle it well, so I give up
42
- * nodejs 12.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v12/http.d.ts#L229
43
- * nodejs 14.x ref: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/v14/http.d.ts#L263
44
- */
45
- protected callNativeWriteHead(statusCode: number, statusMessage?: string | any | any[], obj?: any | any[]): this;
46
- }
47
- export {};
48
- export declare type __ΩServerlessResponseProps = any[];