@h4ad/serverless-adapter 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +2 -2
  2. package/lib/@types/binary-settings.d.ts +41 -0
  3. package/lib/@types/binary-settings.d.ts.map +1 -0
  4. package/lib/@types/binary-settings.js +1 -1
  5. package/lib/@types/binary-settings.js.map +1 -1
  6. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts +37 -0
  7. package/lib/@types/digital-ocean/digital-ocean-http-event.d.ts.map +1 -0
  8. package/lib/@types/digital-ocean/digital-ocean-http-event.js +1 -1
  9. package/lib/@types/digital-ocean/digital-ocean-http-event.js.map +1 -1
  10. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts +22 -0
  11. package/lib/@types/digital-ocean/digital-ocean-http-response.d.ts.map +1 -0
  12. package/lib/@types/digital-ocean/digital-ocean-http-response.js +1 -1
  13. package/lib/@types/digital-ocean/digital-ocean-http-response.js.map +1 -1
  14. package/lib/@types/digital-ocean/index.d.ts +2 -0
  15. package/lib/@types/digital-ocean/index.d.ts.map +1 -0
  16. package/lib/@types/digital-ocean/index.js +1 -1
  17. package/lib/@types/digital-ocean/index.js.map +1 -1
  18. package/lib/@types/headers.d.ts +37 -0
  19. package/lib/@types/headers.d.ts.map +1 -0
  20. package/lib/@types/headers.js +1 -1
  21. package/lib/@types/headers.js.map +1 -1
  22. package/lib/@types/helpers.d.ts +10 -0
  23. package/lib/@types/helpers.d.ts.map +1 -0
  24. package/lib/@types/helpers.js +1 -1
  25. package/lib/@types/helpers.js.map +1 -1
  26. package/lib/@types/huawei/huawei-api-gateway-event.d.ts +81 -0
  27. package/lib/@types/huawei/huawei-api-gateway-event.d.ts.map +1 -0
  28. package/lib/@types/huawei/huawei-api-gateway-event.js +1 -1
  29. package/lib/@types/huawei/huawei-api-gateway-event.js.map +1 -1
  30. package/lib/@types/huawei/huawei-api-gateway-response.d.ts +27 -0
  31. package/lib/@types/huawei/huawei-api-gateway-response.d.ts.map +1 -0
  32. package/lib/@types/huawei/huawei-api-gateway-response.js +1 -1
  33. package/lib/@types/huawei/huawei-api-gateway-response.js.map +1 -1
  34. package/lib/@types/huawei/huawei-context.d.ts +188 -0
  35. package/lib/@types/huawei/huawei-context.d.ts.map +1 -0
  36. package/lib/@types/huawei/huawei-context.js +1 -1
  37. package/lib/@types/huawei/huawei-context.js.map +1 -1
  38. package/lib/@types/huawei/index.d.ts +4 -0
  39. package/lib/@types/huawei/index.d.ts.map +1 -0
  40. package/lib/@types/huawei/index.js +1 -1
  41. package/lib/@types/huawei/index.js.map +1 -1
  42. package/lib/@types/index.d.ts +4 -0
  43. package/lib/@types/index.d.ts.map +1 -0
  44. package/lib/@types/index.js +1 -1
  45. package/lib/@types/index.js.map +1 -1
  46. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts +56 -0
  47. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.d.ts.map +1 -0
  48. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js +1 -1
  49. package/lib/adapters/apollo-server/apollo-server-mutation.adapter.js.map +1 -1
  50. package/lib/adapters/apollo-server/index.d.ts +2 -0
  51. package/lib/adapters/apollo-server/index.d.ts.map +1 -0
  52. package/lib/adapters/apollo-server/index.js +1 -1
  53. package/lib/adapters/apollo-server/index.js.map +1 -1
  54. package/lib/adapters/aws/alb.adapter.d.ts +71 -0
  55. package/lib/adapters/aws/alb.adapter.d.ts.map +1 -0
  56. package/lib/adapters/aws/alb.adapter.js +1 -1
  57. package/lib/adapters/aws/alb.adapter.js.map +1 -1
  58. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts +76 -0
  59. package/lib/adapters/aws/api-gateway-v1.adapter.d.ts.map +1 -0
  60. package/lib/adapters/aws/api-gateway-v1.adapter.js +1 -1
  61. package/lib/adapters/aws/api-gateway-v1.adapter.js.map +1 -1
  62. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts +75 -0
  63. package/lib/adapters/aws/api-gateway-v2.adapter.d.ts.map +1 -0
  64. package/lib/adapters/aws/api-gateway-v2.adapter.js +1 -1
  65. package/lib/adapters/aws/api-gateway-v2.adapter.js.map +1 -1
  66. package/lib/adapters/aws/base/aws-simple-adapter.d.ts +83 -0
  67. package/lib/adapters/aws/base/aws-simple-adapter.d.ts.map +1 -0
  68. package/lib/adapters/aws/base/aws-simple-adapter.js +1 -1
  69. package/lib/adapters/aws/base/aws-simple-adapter.js.map +1 -1
  70. package/lib/adapters/aws/base/index.d.ts +2 -0
  71. package/lib/adapters/aws/base/index.d.ts.map +1 -0
  72. package/lib/adapters/aws/base/index.js +1 -1
  73. package/lib/adapters/aws/base/index.js.map +1 -1
  74. package/lib/adapters/aws/dynamodb.adapter.d.ts +56 -0
  75. package/lib/adapters/aws/dynamodb.adapter.d.ts.map +1 -0
  76. package/lib/adapters/aws/dynamodb.adapter.js +1 -1
  77. package/lib/adapters/aws/dynamodb.adapter.js.map +1 -1
  78. package/lib/adapters/aws/event-bridge.adapter.d.ts +63 -0
  79. package/lib/adapters/aws/event-bridge.adapter.d.ts.map +1 -0
  80. package/lib/adapters/aws/event-bridge.adapter.js +1 -1
  81. package/lib/adapters/aws/event-bridge.adapter.js.map +1 -1
  82. package/lib/adapters/aws/index.d.ts +12 -0
  83. package/lib/adapters/aws/index.d.ts.map +1 -0
  84. package/lib/adapters/aws/index.js +1 -1
  85. package/lib/adapters/aws/index.js.map +1 -1
  86. package/lib/adapters/aws/lambda-edge.adapter.d.ts +209 -0
  87. package/lib/adapters/aws/lambda-edge.adapter.d.ts.map +1 -0
  88. package/lib/adapters/aws/lambda-edge.adapter.js +1 -1
  89. package/lib/adapters/aws/lambda-edge.adapter.js.map +1 -1
  90. package/lib/adapters/aws/request-lambda-edge.adapter.d.ts +131 -0
  91. package/lib/adapters/aws/request-lambda-edge.adapter.d.ts.map +1 -0
  92. package/lib/adapters/aws/request-lambda-edge.adapter.js +2 -0
  93. package/lib/adapters/aws/request-lambda-edge.adapter.js.map +1 -0
  94. package/lib/adapters/aws/s3.adapter.d.ts +56 -0
  95. package/lib/adapters/aws/s3.adapter.d.ts.map +1 -0
  96. package/lib/adapters/aws/s3.adapter.js +1 -1
  97. package/lib/adapters/aws/s3.adapter.js.map +1 -1
  98. package/lib/adapters/aws/sns.adapter.d.ts +56 -0
  99. package/lib/adapters/aws/sns.adapter.d.ts.map +1 -0
  100. package/lib/adapters/aws/sns.adapter.js +1 -1
  101. package/lib/adapters/aws/sns.adapter.js.map +1 -1
  102. package/lib/adapters/aws/sqs.adapter.d.ts +56 -0
  103. package/lib/adapters/aws/sqs.adapter.d.ts.map +1 -0
  104. package/lib/adapters/aws/sqs.adapter.js +1 -1
  105. package/lib/adapters/aws/sqs.adapter.js.map +1 -1
  106. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts +81 -0
  107. package/lib/adapters/azure/http-trigger-v4.adapter.d.ts.map +1 -0
  108. package/lib/adapters/azure/http-trigger-v4.adapter.js +1 -1
  109. package/lib/adapters/azure/http-trigger-v4.adapter.js.map +1 -1
  110. package/lib/adapters/azure/index.d.ts +2 -0
  111. package/lib/adapters/azure/index.d.ts.map +1 -0
  112. package/lib/adapters/azure/index.js +1 -1
  113. package/lib/adapters/azure/index.js.map +1 -1
  114. package/lib/adapters/digital-ocean/http-function.adapter.d.ts +65 -0
  115. package/lib/adapters/digital-ocean/http-function.adapter.d.ts.map +1 -0
  116. package/lib/adapters/digital-ocean/http-function.adapter.js +1 -1
  117. package/lib/adapters/digital-ocean/http-function.adapter.js.map +1 -1
  118. package/lib/adapters/digital-ocean/index.d.ts +2 -0
  119. package/lib/adapters/digital-ocean/index.d.ts.map +1 -0
  120. package/lib/adapters/digital-ocean/index.js +1 -1
  121. package/lib/adapters/digital-ocean/index.js.map +1 -1
  122. package/lib/adapters/dummy/dummy.adapter.d.ts +31 -0
  123. package/lib/adapters/dummy/dummy.adapter.d.ts.map +1 -0
  124. package/lib/adapters/dummy/dummy.adapter.js +1 -1
  125. package/lib/adapters/dummy/dummy.adapter.js.map +1 -1
  126. package/lib/adapters/dummy/index.d.ts +2 -0
  127. package/lib/adapters/dummy/index.d.ts.map +1 -0
  128. package/lib/adapters/dummy/index.js +1 -1
  129. package/lib/adapters/dummy/index.js.map +1 -1
  130. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts +66 -0
  131. package/lib/adapters/huawei/huawei-api-gateway.adapter.d.ts.map +1 -0
  132. package/lib/adapters/huawei/huawei-api-gateway.adapter.js +1 -1
  133. package/lib/adapters/huawei/huawei-api-gateway.adapter.js.map +1 -1
  134. package/lib/adapters/huawei/index.d.ts +2 -0
  135. package/lib/adapters/huawei/index.d.ts.map +1 -0
  136. package/lib/adapters/huawei/index.js +1 -1
  137. package/lib/adapters/huawei/index.js.map +1 -1
  138. package/lib/contracts/adapter.contract.d.ts +152 -0
  139. package/lib/contracts/adapter.contract.d.ts.map +1 -0
  140. package/lib/contracts/adapter.contract.js +1 -1
  141. package/lib/contracts/adapter.contract.js.map +1 -1
  142. package/lib/contracts/framework.contract.d.ts +19 -0
  143. package/lib/contracts/framework.contract.d.ts.map +1 -0
  144. package/lib/contracts/framework.contract.js +1 -1
  145. package/lib/contracts/framework.contract.js.map +1 -1
  146. package/lib/contracts/handler.contract.d.ts +25 -0
  147. package/lib/contracts/handler.contract.d.ts.map +1 -0
  148. package/lib/contracts/handler.contract.js +1 -1
  149. package/lib/contracts/handler.contract.js.map +1 -1
  150. package/lib/contracts/index.d.ts +5 -0
  151. package/lib/contracts/index.d.ts.map +1 -0
  152. package/lib/contracts/index.js +1 -1
  153. package/lib/contracts/index.js.map +1 -1
  154. package/lib/contracts/resolver.contract.d.ts +83 -0
  155. package/lib/contracts/resolver.contract.d.ts.map +1 -0
  156. package/lib/contracts/resolver.contract.js +1 -1
  157. package/lib/contracts/resolver.contract.js.map +1 -1
  158. package/lib/core/base-handler.d.ts +32 -0
  159. package/lib/core/base-handler.d.ts.map +1 -0
  160. package/lib/core/base-handler.js +1 -1
  161. package/lib/core/base-handler.js.map +1 -1
  162. package/lib/core/constants.d.ts +31 -0
  163. package/lib/core/constants.d.ts.map +1 -0
  164. package/lib/core/constants.js +1 -1
  165. package/lib/core/constants.js.map +1 -1
  166. package/lib/core/current-invoke.d.ts +48 -0
  167. package/lib/core/current-invoke.d.ts.map +1 -0
  168. package/lib/core/current-invoke.js +1 -1
  169. package/lib/core/current-invoke.js.map +1 -1
  170. package/lib/core/event-body.d.ts +22 -0
  171. package/lib/core/event-body.d.ts.map +1 -0
  172. package/lib/core/event-body.js +1 -1
  173. package/lib/core/event-body.js.map +1 -1
  174. package/lib/core/headers.d.ts +73 -0
  175. package/lib/core/headers.d.ts.map +1 -0
  176. package/lib/core/headers.js +2 -2
  177. package/lib/core/headers.js.map +1 -1
  178. package/lib/core/index.d.ts +12 -0
  179. package/lib/core/index.d.ts.map +1 -0
  180. package/lib/core/index.js +1 -1
  181. package/lib/core/index.js.map +1 -1
  182. package/lib/core/is-binary.d.ts +73 -0
  183. package/lib/core/is-binary.d.ts.map +1 -0
  184. package/lib/core/is-binary.js +1 -1
  185. package/lib/core/is-binary.js.map +1 -1
  186. package/lib/core/logger.d.ts +64 -0
  187. package/lib/core/logger.d.ts.map +1 -0
  188. package/lib/core/logger.js +1 -1
  189. package/lib/core/logger.js.map +1 -1
  190. package/lib/core/no-op.d.ts +8 -0
  191. package/lib/core/no-op.d.ts.map +1 -0
  192. package/lib/core/no-op.js +1 -1
  193. package/lib/core/no-op.js.map +1 -1
  194. package/lib/core/optional.d.ts +22 -0
  195. package/lib/core/optional.d.ts.map +1 -0
  196. package/lib/core/optional.js +1 -1
  197. package/lib/core/optional.js.map +1 -1
  198. package/lib/core/path.d.ts +53 -0
  199. package/lib/core/path.d.ts.map +1 -0
  200. package/lib/core/path.js +1 -1
  201. package/lib/core/path.js.map +1 -1
  202. package/lib/core/stream.d.ts +21 -0
  203. package/lib/core/stream.d.ts.map +1 -0
  204. package/lib/core/stream.js +1 -1
  205. package/lib/core/stream.js.map +1 -1
  206. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts +69 -0
  207. package/lib/frameworks/apollo-server/apollo-server.framework.d.ts.map +1 -0
  208. package/lib/frameworks/apollo-server/apollo-server.framework.js +1 -1
  209. package/lib/frameworks/apollo-server/apollo-server.framework.js.map +1 -1
  210. package/lib/frameworks/apollo-server/index.d.ts +2 -0
  211. package/lib/frameworks/apollo-server/index.d.ts.map +1 -0
  212. package/lib/frameworks/apollo-server/index.js +1 -1
  213. package/lib/frameworks/apollo-server/index.js.map +1 -1
  214. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts +69 -0
  215. package/lib/frameworks/body-parser/base-body-parser.framework.d.ts.map +1 -0
  216. package/lib/frameworks/body-parser/base-body-parser.framework.js +1 -1
  217. package/lib/frameworks/body-parser/base-body-parser.framework.js.map +1 -1
  218. package/lib/frameworks/body-parser/index.d.ts +6 -0
  219. package/lib/frameworks/body-parser/index.d.ts.map +1 -0
  220. package/lib/frameworks/body-parser/index.js +1 -1
  221. package/lib/frameworks/body-parser/index.js.map +1 -1
  222. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts +26 -0
  223. package/lib/frameworks/body-parser/json-body-parser.framework.d.ts.map +1 -0
  224. package/lib/frameworks/body-parser/json-body-parser.framework.js +1 -1
  225. package/lib/frameworks/body-parser/json-body-parser.framework.js.map +1 -1
  226. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts +26 -0
  227. package/lib/frameworks/body-parser/raw-body-parser.framework.d.ts.map +1 -0
  228. package/lib/frameworks/body-parser/raw-body-parser.framework.js +1 -1
  229. package/lib/frameworks/body-parser/raw-body-parser.framework.js.map +1 -1
  230. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts +26 -0
  231. package/lib/frameworks/body-parser/text-body-parser.framework.d.ts.map +1 -0
  232. package/lib/frameworks/body-parser/text-body-parser.framework.js +1 -1
  233. package/lib/frameworks/body-parser/text-body-parser.framework.js.map +1 -1
  234. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts +26 -0
  235. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.d.ts.map +1 -0
  236. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js +1 -1
  237. package/lib/frameworks/body-parser/urlencoded-body-parser.framework.js.map +1 -1
  238. package/lib/frameworks/cors/cors.framework.d.ts +78 -0
  239. package/lib/frameworks/cors/cors.framework.d.ts.map +1 -0
  240. package/lib/frameworks/cors/cors.framework.js +2 -2
  241. package/lib/frameworks/cors/cors.framework.js.map +1 -1
  242. package/lib/frameworks/cors/index.d.ts +2 -0
  243. package/lib/frameworks/cors/index.d.ts.map +1 -0
  244. package/lib/frameworks/cors/index.js +1 -1
  245. package/lib/frameworks/cors/index.js.map +1 -1
  246. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts +18 -0
  247. package/lib/frameworks/deepkit/http-deepkit.framework.d.ts.map +1 -0
  248. package/lib/frameworks/deepkit/http-deepkit.framework.js +1 -1
  249. package/lib/frameworks/deepkit/http-deepkit.framework.js.map +1 -1
  250. package/lib/frameworks/deepkit/index.d.ts +2 -0
  251. package/lib/frameworks/deepkit/index.d.ts.map +1 -0
  252. package/lib/frameworks/deepkit/index.js +1 -1
  253. package/lib/frameworks/deepkit/index.js.map +1 -1
  254. package/lib/frameworks/express/express.framework.d.ts +17 -0
  255. package/lib/frameworks/express/express.framework.d.ts.map +1 -0
  256. package/lib/frameworks/express/express.framework.js +1 -1
  257. package/lib/frameworks/express/express.framework.js.map +1 -1
  258. package/lib/frameworks/express/index.d.ts +2 -0
  259. package/lib/frameworks/express/index.d.ts.map +1 -0
  260. package/lib/frameworks/express/index.js +1 -1
  261. package/lib/frameworks/express/index.js.map +1 -1
  262. package/lib/frameworks/fastify/fastify.framework.d.ts +17 -0
  263. package/lib/frameworks/fastify/fastify.framework.d.ts.map +1 -0
  264. package/lib/frameworks/fastify/fastify.framework.js +1 -1
  265. package/lib/frameworks/fastify/fastify.framework.js.map +1 -1
  266. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts +14 -0
  267. package/lib/frameworks/fastify/helpers/no-op-content-parser.d.ts.map +1 -0
  268. package/lib/frameworks/fastify/helpers/no-op-content-parser.js +1 -1
  269. package/lib/frameworks/fastify/helpers/no-op-content-parser.js.map +1 -1
  270. package/lib/frameworks/fastify/index.d.ts +2 -0
  271. package/lib/frameworks/fastify/index.d.ts.map +1 -0
  272. package/lib/frameworks/fastify/index.js +1 -1
  273. package/lib/frameworks/fastify/index.js.map +1 -1
  274. package/lib/frameworks/hapi/hapi.framework.d.ts +17 -0
  275. package/lib/frameworks/hapi/hapi.framework.d.ts.map +1 -0
  276. package/lib/frameworks/hapi/hapi.framework.js +1 -1
  277. package/lib/frameworks/hapi/hapi.framework.js.map +1 -1
  278. package/lib/frameworks/hapi/index.d.ts +2 -0
  279. package/lib/frameworks/hapi/index.d.ts.map +1 -0
  280. package/lib/frameworks/hapi/index.js +1 -1
  281. package/lib/frameworks/hapi/index.js.map +1 -1
  282. package/lib/frameworks/koa/index.d.ts +2 -0
  283. package/lib/frameworks/koa/index.d.ts.map +1 -0
  284. package/lib/frameworks/koa/index.js +1 -1
  285. package/lib/frameworks/koa/index.js.map +1 -1
  286. package/lib/frameworks/koa/koa.framework.d.ts +17 -0
  287. package/lib/frameworks/koa/koa.framework.d.ts.map +1 -0
  288. package/lib/frameworks/koa/koa.framework.js +1 -1
  289. package/lib/frameworks/koa/koa.framework.js.map +1 -1
  290. package/lib/frameworks/lazy/index.d.ts +2 -0
  291. package/lib/frameworks/lazy/index.d.ts.map +1 -0
  292. package/lib/frameworks/lazy/index.js +1 -1
  293. package/lib/frameworks/lazy/index.js.map +1 -1
  294. package/lib/frameworks/lazy/lazy.framework.d.ts +56 -0
  295. package/lib/frameworks/lazy/lazy.framework.d.ts.map +1 -0
  296. package/lib/frameworks/lazy/lazy.framework.js +1 -1
  297. package/lib/frameworks/lazy/lazy.framework.js.map +1 -1
  298. package/lib/frameworks/trpc/index.d.ts +2 -0
  299. package/lib/frameworks/trpc/index.d.ts.map +1 -0
  300. package/lib/frameworks/trpc/index.js +1 -1
  301. package/lib/frameworks/trpc/index.js.map +1 -1
  302. package/lib/frameworks/trpc/trpc.framework.d.ts +153 -0
  303. package/lib/frameworks/trpc/trpc.framework.d.ts.map +1 -0
  304. package/lib/frameworks/trpc/trpc.framework.js +1 -1
  305. package/lib/frameworks/trpc/trpc.framework.js.map +1 -1
  306. package/lib/handlers/aws/aws-stream.handler.d.ts +89 -0
  307. package/lib/handlers/aws/aws-stream.handler.d.ts.map +1 -0
  308. package/lib/handlers/aws/aws-stream.handler.js +1 -1
  309. package/lib/handlers/aws/aws-stream.handler.js.map +1 -1
  310. package/lib/handlers/aws/index.d.ts +2 -0
  311. package/lib/handlers/aws/index.d.ts.map +1 -0
  312. package/lib/handlers/aws/index.js +1 -1
  313. package/lib/handlers/aws/index.js.map +1 -1
  314. package/lib/handlers/azure/azure.handler.d.ts +45 -0
  315. package/lib/handlers/azure/azure.handler.d.ts.map +1 -0
  316. package/lib/handlers/azure/azure.handler.js +1 -1
  317. package/lib/handlers/azure/azure.handler.js.map +1 -1
  318. package/lib/handlers/azure/index.d.ts +2 -0
  319. package/lib/handlers/azure/index.d.ts.map +1 -0
  320. package/lib/handlers/azure/index.js +1 -1
  321. package/lib/handlers/azure/index.js.map +1 -1
  322. package/lib/handlers/base/index.d.ts +2 -0
  323. package/lib/handlers/base/index.d.ts.map +1 -0
  324. package/lib/handlers/base/index.js +1 -1
  325. package/lib/handlers/base/index.js.map +1 -1
  326. package/lib/handlers/base/raw-request.d.ts +31 -0
  327. package/lib/handlers/base/raw-request.d.ts.map +1 -0
  328. package/lib/handlers/base/raw-request.js +1 -1
  329. package/lib/handlers/base/raw-request.js.map +1 -1
  330. package/lib/handlers/default/default.handler.d.ts +88 -0
  331. package/lib/handlers/default/default.handler.d.ts.map +1 -0
  332. package/lib/handlers/default/default.handler.js +1 -1
  333. package/lib/handlers/default/default.handler.js.map +1 -1
  334. package/lib/handlers/default/index.d.ts +2 -0
  335. package/lib/handlers/default/index.d.ts.map +1 -0
  336. package/lib/handlers/default/index.js +1 -1
  337. package/lib/handlers/default/index.js.map +1 -1
  338. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts +17 -0
  339. package/lib/handlers/digital-ocean/digital-ocean.handler.d.ts.map +1 -0
  340. package/lib/handlers/digital-ocean/digital-ocean.handler.js +1 -1
  341. package/lib/handlers/digital-ocean/digital-ocean.handler.js.map +1 -1
  342. package/lib/handlers/digital-ocean/index.d.ts +2 -0
  343. package/lib/handlers/digital-ocean/index.d.ts.map +1 -0
  344. package/lib/handlers/digital-ocean/index.js +1 -1
  345. package/lib/handlers/digital-ocean/index.js.map +1 -1
  346. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts +27 -0
  347. package/lib/handlers/firebase/http-firebase-v2.handler.d.ts.map +1 -0
  348. package/lib/handlers/firebase/http-firebase-v2.handler.js +1 -1
  349. package/lib/handlers/firebase/http-firebase-v2.handler.js.map +1 -1
  350. package/lib/handlers/firebase/http-firebase.handler.d.ts +19 -0
  351. package/lib/handlers/firebase/http-firebase.handler.d.ts.map +1 -0
  352. package/lib/handlers/firebase/http-firebase.handler.js +1 -1
  353. package/lib/handlers/firebase/http-firebase.handler.js.map +1 -1
  354. package/lib/handlers/firebase/index.d.ts +3 -0
  355. package/lib/handlers/firebase/index.d.ts.map +1 -0
  356. package/lib/handlers/firebase/index.js +1 -1
  357. package/lib/handlers/firebase/index.js.map +1 -1
  358. package/lib/handlers/gcp/gcp.handler.d.ts +26 -0
  359. package/lib/handlers/gcp/gcp.handler.d.ts.map +1 -0
  360. package/lib/handlers/gcp/gcp.handler.js +1 -1
  361. package/lib/handlers/gcp/gcp.handler.js.map +1 -1
  362. package/lib/handlers/gcp/index.d.ts +2 -0
  363. package/lib/handlers/gcp/index.d.ts.map +1 -0
  364. package/lib/handlers/gcp/index.js +1 -1
  365. package/lib/handlers/gcp/index.js.map +1 -1
  366. package/lib/handlers/huawei/http-huawei.handler.d.ts +59 -0
  367. package/lib/handlers/huawei/http-huawei.handler.d.ts.map +1 -0
  368. package/lib/handlers/huawei/http-huawei.handler.js +1 -1
  369. package/lib/handlers/huawei/http-huawei.handler.js.map +1 -1
  370. package/lib/handlers/huawei/index.d.ts +2 -0
  371. package/lib/handlers/huawei/index.d.ts.map +1 -0
  372. package/lib/handlers/huawei/index.js +1 -1
  373. package/lib/handlers/huawei/index.js.map +1 -1
  374. package/lib/index.d.ts +6 -0
  375. package/lib/index.d.ts.map +1 -0
  376. package/lib/index.doc.js +1 -1
  377. package/lib/index.doc.js.map +1 -1
  378. package/lib/index.js +1 -1
  379. package/lib/index.js.map +1 -1
  380. package/lib/network/index.d.ts +5 -0
  381. package/lib/network/index.d.ts.map +1 -0
  382. package/lib/network/index.js +1 -1
  383. package/lib/network/index.js.map +1 -1
  384. package/lib/network/request.d.ts +44 -0
  385. package/lib/network/request.d.ts.map +1 -0
  386. package/lib/network/request.js +1 -1
  387. package/lib/network/request.js.map +1 -1
  388. package/lib/network/response-stream.d.ts +41 -0
  389. package/lib/network/response-stream.d.ts.map +1 -0
  390. package/lib/network/response-stream.js +4 -4
  391. package/lib/network/response-stream.js.map +1 -1
  392. package/lib/network/response.d.ts +48 -0
  393. package/lib/network/response.d.ts.map +1 -0
  394. package/lib/network/response.js +2 -2
  395. package/lib/network/response.js.map +1 -1
  396. package/lib/network/utils.d.ts +9 -0
  397. package/lib/network/utils.d.ts.map +1 -0
  398. package/lib/network/utils.js +1 -1
  399. package/lib/network/utils.js.map +1 -1
  400. package/lib/resolvers/aws-context/aws-context.resolver.d.ts +19 -0
  401. package/lib/resolvers/aws-context/aws-context.resolver.d.ts.map +1 -0
  402. package/lib/resolvers/aws-context/aws-context.resolver.js +1 -1
  403. package/lib/resolvers/aws-context/aws-context.resolver.js.map +1 -1
  404. package/lib/resolvers/aws-context/index.d.ts +2 -0
  405. package/lib/resolvers/aws-context/index.d.ts.map +1 -0
  406. package/lib/resolvers/aws-context/index.js +1 -1
  407. package/lib/resolvers/aws-context/index.js.map +1 -1
  408. package/lib/resolvers/callback/callback.resolver.d.ts +23 -0
  409. package/lib/resolvers/callback/callback.resolver.d.ts.map +1 -0
  410. package/lib/resolvers/callback/callback.resolver.js +1 -1
  411. package/lib/resolvers/callback/callback.resolver.js.map +1 -1
  412. package/lib/resolvers/callback/index.d.ts +2 -0
  413. package/lib/resolvers/callback/index.d.ts.map +1 -0
  414. package/lib/resolvers/callback/index.js +1 -1
  415. package/lib/resolvers/callback/index.js.map +1 -1
  416. package/lib/resolvers/dummy/dummy.resolver.d.ts +14 -0
  417. package/lib/resolvers/dummy/dummy.resolver.d.ts.map +1 -0
  418. package/lib/resolvers/dummy/dummy.resolver.js +1 -1
  419. package/lib/resolvers/dummy/dummy.resolver.js.map +1 -1
  420. package/lib/resolvers/dummy/index.d.ts +2 -0
  421. package/lib/resolvers/dummy/index.d.ts.map +1 -0
  422. package/lib/resolvers/dummy/index.js +1 -1
  423. package/lib/resolvers/dummy/index.js.map +1 -1
  424. package/lib/resolvers/promise/index.d.ts +2 -0
  425. package/lib/resolvers/promise/index.d.ts.map +1 -0
  426. package/lib/resolvers/promise/index.js +1 -1
  427. package/lib/resolvers/promise/index.js.map +1 -1
  428. package/lib/resolvers/promise/promise.resolver.d.ts +14 -0
  429. package/lib/resolvers/promise/promise.resolver.d.ts.map +1 -0
  430. package/lib/resolvers/promise/promise.resolver.js +1 -1
  431. package/lib/resolvers/promise/promise.resolver.js.map +1 -1
  432. package/lib/serverless-adapter.d.ts +119 -0
  433. package/lib/serverless-adapter.d.ts.map +1 -0
  434. package/lib/serverless-adapter.js +1 -1
  435. package/lib/serverless-adapter.js.map +1 -1
  436. package/package.json +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"hapi.framework.js","sources":["../../../src/frameworks/hapi/hapi.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { Server } from '@hapi/hapi';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to hapi handler\n *\n * @breadcrumb Frameworks / HapiFramework\n * @public\n */\nexport class HapiFramework implements FrameworkContract<Server> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Server,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const httpServer: any = app.listener;\n\n httpServer._events.request(request, response);\n }\n}\n"],"names":["hapi_framework_exports","__export","HapiFramework","__toCommonJS","app","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,cAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAcO,MAAME,CAAmD,CAIvD,YACLE,EACAC,EACAC,EACM,CACkBF,EAAI,SAEjB,QAAQ,QAAQC,EAASC,CAAQ,CAC9C,CACF"}
1
+ {"version":3,"file":"hapi.framework.js","sources":["../../../src/frameworks/hapi/hapi.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { Server } from '@hapi/hapi';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to hapi handler\n *\n * @breadcrumb Frameworks / HapiFramework\n * @public\n */\nexport class HapiFramework implements FrameworkContract<Server> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Server,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const httpServer: any = app.listener;\n\n httpServer._events.request(request, response);\n }\n}\n"],"names":[],"mappings":"ooBAAA,uBAAA,CAAA,EAAA,SAAA,uBAAA,CAAA,cAAA,IAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,sBAAA,EAcO,MAAM,aAAmD,CAIvD,YACL,IACA,QACA,SACM,CACkB,IAAI,SAEjB,QAAQ,QAAQ,QAAS,QAAQ,CAC9C,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './hapi.framework';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/hapi/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!O.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r},c=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),l=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./hapi.framework"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),hapi_exports={};module.exports=__toCommonJS(hapi_exports);__reExport(hapi_exports,require("./hapi.framework"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/frameworks/hapi/index.ts"],"sourcesContent":["export * from './hapi.framework';\n"],"names":["hapi_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/hapi/index.ts"],"sourcesContent":["export * from './hapi.framework';\n"],"names":[],"mappings":"kqBAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,YAAA,EAAA,WAAA,aAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './koa.framework';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/koa/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,p=(r,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!O.call(r,t)&&t!==o&&_(r,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return r},c=(r,e,o)=>(p(r,e,"default"),o&&p(o,e,"default")),l=r=>p(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);c(n,require("./koa.framework"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),koa_exports={};module.exports=__toCommonJS(koa_exports);__reExport(koa_exports,require("./koa.framework"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/frameworks/koa/index.ts"],"sourcesContent":["export * from './koa.framework';\n"],"names":["koa_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/koa/index.ts"],"sourcesContent":["export * from './koa.framework';\n"],"names":[],"mappings":"kqBAAA,YAAA,CAAA,EAAA,OAAA,QAAA,aAAA,WAAA,EAAA,WAAA,YAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
+ import type Application from 'koa';
4
+ import { FrameworkContract } from '../../contracts';
5
+ /**
6
+ * The framework that forwards requests to koa handler
7
+ *
8
+ * @breadcrumb Frameworks / KoaFramework
9
+ * @public
10
+ */
11
+ export declare class KoaFramework implements FrameworkContract<Application> {
12
+ /**
13
+ * {@inheritDoc}
14
+ */
15
+ sendRequest(app: Application, request: IncomingMessage, response: ServerResponse): void;
16
+ }
17
+ //# sourceMappingURL=koa.framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"koa.framework.d.ts","sourceRoot":"","sources":["../../../src/frameworks/koa/koa.framework.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,iBAAiB,CAAC,WAAW,CAAC;IACjE;;OAEG;IACI,WAAW,CAChB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,IAAI;CAGR"}
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty,n=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,u=(r,e)=>{for(var t in e)p(r,t,{get:e[t],enumerable:!0})},v=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of s(e))!c.call(r,o)&&o!==t&&p(r,o,{get:()=>e[o],enumerable:!(a=n(e,o))||a.enumerable});return r},O=r=>v(p({},"__esModule",{value:!0}),r),_={};u(_,{KoaFramework:()=>b});module.exports=O(_);class b{sendRequest(e,t,a){e.callback()(t,a)}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),koa_framework_exports={};__export(koa_framework_exports,{KoaFramework:()=>KoaFramework});module.exports=__toCommonJS(koa_framework_exports);class KoaFramework{sendRequest(app,request,response){app.callback()(request,response)}}
2
2
  //# sourceMappingURL=koa.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"koa.framework.js","sources":["../../../src/frameworks/koa/koa.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type Application from 'koa';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to koa handler\n *\n * @breadcrumb Frameworks / KoaFramework\n * @public\n */\nexport class KoaFramework implements FrameworkContract<Application> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Application,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n app.callback()(request, response);\n }\n}\n"],"names":["koa_framework_exports","__export","KoaFramework","__toCommonJS","app","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,aAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAcO,MAAME,CAAuD,CAI3D,YACLE,EACAC,EACAC,EACM,CACFF,EAAA,SAAA,EAAWC,EAASC,CAAQ,CAClC,CACF"}
1
+ {"version":3,"file":"koa.framework.js","sources":["../../../src/frameworks/koa/koa.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type Application from 'koa';\nimport { FrameworkContract } from '../../contracts';\n\n//#endregion\n\n/**\n * The framework that forwards requests to koa handler\n *\n * @breadcrumb Frameworks / KoaFramework\n * @public\n */\nexport class KoaFramework implements FrameworkContract<Application> {\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: Application,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n app.callback()(request, response);\n }\n}\n"],"names":[],"mappings":"ooBAAA,sBAAA,CAAA,EAAA,SAAA,sBAAA,CAAA,aAAA,IAAA,YAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAcO,MAAM,YAAuD,CAI3D,YACL,IACA,QACA,SACM,CACF,IAAA,SAAA,EAAW,QAAS,QAAQ,CAClC,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './lazy.framework';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/lazy/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!l.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=s(e,t))||o.enumerable});return r},y=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),O=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=O(n);y(n,require("./lazy.framework"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),lazy_exports={};module.exports=__toCommonJS(lazy_exports);__reExport(lazy_exports,require("./lazy.framework"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/frameworks/lazy/index.ts"],"sourcesContent":["export * from './lazy.framework';\n"],"names":["lazy_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/lazy/index.ts"],"sourcesContent":["export * from './lazy.framework';\n"],"names":[],"mappings":"kqBAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,YAAA,EAAA,WAAA,aAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,56 @@
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
+ }
56
+ //# sourceMappingURL=lazy.framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.framework.d.ts","sourceRoot":"","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAuB,MAAM,YAAY,CAAC;AAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,aAAa,CAAC,IAAI,CAAE,YAAW,iBAAiB,CAAC,IAAI,CAAC;IAO/D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IANpC;;OAEG;gBAEkB,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,GAAE,OAA+B;IAqB5D;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAMjD;;OAEG;IACI,WAAW,CAChB,GAAG,EAAE,IAAI,EACT,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,IAAI;CAmBR"}
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty,p=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,h=(o,e)=>{for(var r in e)s(o,r,{get:e[r],enumerable:!0})},_=(o,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of i(e))!n.call(o,t)&&t!==r&&s(o,t,{get:()=>e[t],enumerable:!(a=p(e,t))||a.enumerable});return o},u=o=>_(s({},"__esModule",{value:!0}),o),c={};h(c,{LazyFramework:()=>l});module.exports=u(c);var y=require("../../core");class l{constructor(e,r,a=(0,y.createDefaultLogger)()){this.framework=e,this.factory=r,this.logger=a,this.delayedFactory=Promise.resolve().then(()=>r()).then(t=>{this.cachedApp=t}).catch(t=>{this.logger.error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app."),this.logger.error(t)})}sendRequest(e,r,a){if(this.cachedApp)return this.framework.sendRequest(this.cachedApp,r,a);this.delayedFactory.then(()=>this.cachedApp?this.framework.sendRequest(this.cachedApp,r,a):a.emit("error",new Error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.")))}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),lazy_framework_exports={};__export(lazy_framework_exports,{LazyFramework:()=>LazyFramework});module.exports=__toCommonJS(lazy_framework_exports);var import_core=require("../../core");class LazyFramework{constructor(framework,factory,logger=(0,import_core.createDefaultLogger)()){this.framework=framework,this.factory=factory,this.logger=logger,this.delayedFactory=Promise.resolve().then(()=>factory()).then(app=>{this.cachedApp=app}).catch(error=>{this.logger.error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app."),this.logger.error(error)})}sendRequest(app,request,response){if(this.cachedApp)return this.framework.sendRequest(this.cachedApp,request,response);this.delayedFactory.then(()=>this.cachedApp?this.framework.sendRequest(this.cachedApp,request,response):response.emit("error",new Error("SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.")))}}
2
2
  //# sourceMappingURL=lazy.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.framework.js","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { FrameworkContract } from '../../contracts';\nimport { ILogger, createDefaultLogger } from '../../core';\n\n//#endregion\n\n/**\n * The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.\n *\n * @example\n * ```typescript\n * import express from 'express';\n * import { ServerlessAdapter } from '@h4ad/serverless-adapter';\n * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';\n * import { LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';\n *\n * const expressFramework = new ExpressFramework();\n * const factory = async () => {\n * const app = express();\n *\n * // do some asynchronous stuffs like create the database;\n * await new Promise(resolve => setTimeout(resolve, 100);\n *\n * return app;\n * };\n * const framework = new LazyFramework(expressFramework, factory);\n *\n * export const handler = ServerlessAdapter.new(null)\n * .setFramework(framework)\n * // set other configurations and then build\n * .build();\n * ```\n *\n * @breadcrumb Frameworks / LazyFramework\n * @public\n */\nexport class LazyFramework<TApp> implements FrameworkContract<null> {\n //#region Constructor\n\n /**\n * Default Constructor\n */\n constructor(\n protected readonly framework: FrameworkContract<TApp>,\n protected readonly factory: () => Promise<TApp>,\n protected readonly logger: ILogger = createDefaultLogger(),\n ) {\n this.delayedFactory = Promise.resolve()\n .then(() => factory())\n .then(app => {\n this.cachedApp = app;\n })\n .catch((error: Error) => {\n // deal with the error only when receive some request\n // to be able to return some message to user\n this.logger.error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app.',\n );\n this.logger.error(error);\n });\n }\n\n //#endregion\n\n //#region Protected Properties\n\n /**\n * The cached version of the app\n */\n protected cachedApp?: TApp;\n\n /**\n * The delayed factory to create an instance of the app\n */\n protected readonly delayedFactory: Promise<void>;\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: null,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n if (this.cachedApp)\n return this.framework.sendRequest(this.cachedApp, request, response);\n\n this.delayedFactory.then(() => {\n if (!this.cachedApp) {\n return response.emit(\n 'error',\n new Error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.',\n ),\n );\n }\n\n return this.framework.sendRequest(this.cachedApp, request, response);\n });\n }\n\n //#endregion\n}\n"],"names":["lazy_framework_exports","__export","LazyFramework","__toCommonJS","import_core","framework","factory","logger","app","error","request","response"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,cAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAIA,IAA6CI,EAAA,QAAA,YAAA,EAkCtC,MAAMF,CAAuD,CAMlE,YACqBG,EACAC,EACAC,KAAkBH,yBACrC,CAHmB,KAAA,UAAAC,EACA,KAAA,QAAAC,EACA,KAAA,OAAAC,EAEd,KAAA,eAAiB,QAAQ,UAC3B,KAAK,IAAMD,GAAS,EACpB,KAAYE,GAAA,CACX,KAAK,UAAYA,CAAA,CAClB,EACA,MAAOC,GAAiB,CAGvB,KAAK,OAAO,MACV,sFAAA,EAEG,KAAA,OAAO,MAAMA,CAAK,CAAA,CACxB,CACL,CAuBO,YACLD,EACAE,EACAC,EACM,CACN,GAAI,KAAK,UACP,OAAO,KAAK,UAAU,YAAY,KAAK,UAAWD,EAASC,CAAQ,EAEhE,KAAA,eAAe,KAAK,IAClB,KAAK,UASH,KAAK,UAAU,YAAY,KAAK,UAAWD,EAASC,CAAQ,EAR1DA,EAAS,KACd,QACA,IAAI,MACF,8HACF,CAAA,CAKL,CACH,CAGF"}
1
+ {"version":3,"file":"lazy.framework.js","sources":["../../../src/frameworks/lazy/lazy.framework.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { FrameworkContract } from '../../contracts';\nimport { ILogger, createDefaultLogger } from '../../core';\n\n//#endregion\n\n/**\n * The framework that asynchronously instantiates your application and forwards the request to the framework as quickly as possible.\n *\n * @example\n * ```typescript\n * import express from 'express';\n * import { ServerlessAdapter } from '@h4ad/serverless-adapter';\n * import { ExpressFramework } from '@h4ad/serverless-adapter/lib/frameworks/express';\n * import { LazyFramework } from '@h4ad/serverless-adapter/lib/frameworks/lazy';\n *\n * const expressFramework = new ExpressFramework();\n * const factory = async () => {\n * const app = express();\n *\n * // do some asynchronous stuffs like create the database;\n * await new Promise(resolve => setTimeout(resolve, 100);\n *\n * return app;\n * };\n * const framework = new LazyFramework(expressFramework, factory);\n *\n * export const handler = ServerlessAdapter.new(null)\n * .setFramework(framework)\n * // set other configurations and then build\n * .build();\n * ```\n *\n * @breadcrumb Frameworks / LazyFramework\n * @public\n */\nexport class LazyFramework<TApp> implements FrameworkContract<null> {\n //#region Constructor\n\n /**\n * Default Constructor\n */\n constructor(\n protected readonly framework: FrameworkContract<TApp>,\n protected readonly factory: () => Promise<TApp>,\n protected readonly logger: ILogger = createDefaultLogger(),\n ) {\n this.delayedFactory = Promise.resolve()\n .then(() => factory())\n .then(app => {\n this.cachedApp = app;\n })\n .catch((error: Error) => {\n // deal with the error only when receive some request\n // to be able to return some message to user\n this.logger.error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: An error occours during the creation of your app.',\n );\n this.logger.error(error);\n });\n }\n\n //#endregion\n\n //#region Protected Properties\n\n /**\n * The cached version of the app\n */\n protected cachedApp?: TApp;\n\n /**\n * The delayed factory to create an instance of the app\n */\n protected readonly delayedFactory: Promise<void>;\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest(\n app: null,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n if (this.cachedApp)\n return this.framework.sendRequest(this.cachedApp, request, response);\n\n this.delayedFactory.then(() => {\n if (!this.cachedApp) {\n return response.emit(\n 'error',\n new Error(\n 'SERVERLESS_ADAPTER:LAZY_FRAMEWORK: The instance of the app returned by the factory is not valid, see the logs to learn more.',\n ),\n );\n }\n\n return this.framework.sendRequest(this.cachedApp, request, response);\n });\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,uBAAA,CAAA,EAAA,SAAA,uBAAA,CAAA,cAAA,IAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,sBAAA,EAIA,IAA6C,YAAA,QAAA,YAAA,EAkCtC,MAAM,aAAuD,CAMlE,YACqB,UACA,QACA,UAAkB,mCACrC,CAHmB,KAAA,UAAA,UACA,KAAA,QAAA,QACA,KAAA,OAAA,OAEd,KAAA,eAAiB,QAAQ,UAC3B,KAAK,IAAM,SAAS,EACpB,KAAY,KAAA,CACX,KAAK,UAAY,GAAA,CAClB,EACA,MAAO,OAAiB,CAGvB,KAAK,OAAO,MACV,sFAAA,EAEG,KAAA,OAAO,MAAM,KAAK,CAAA,CACxB,CACL,CAuBO,YACL,IACA,QACA,SACM,CACN,GAAI,KAAK,UACP,OAAO,KAAK,UAAU,YAAY,KAAK,UAAW,QAAS,QAAQ,EAEhE,KAAA,eAAe,KAAK,IAClB,KAAK,UASH,KAAK,UAAU,YAAY,KAAK,UAAW,QAAS,QAAQ,EAR1D,SAAS,KACd,QACA,IAAI,MACF,8HACF,CAAA,CAKL,CACH,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './trpc.framework';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/trpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!c.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(a=s(e,t))||a.enumerable});return r},O=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),l=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=l(n);O(n,require("./trpc.framework"),module.exports);
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__reExport=(target,mod,secondTarget)=>(__copyProps(target,mod,"default"),secondTarget&&__copyProps(secondTarget,mod,"default")),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),trpc_exports={};module.exports=__toCommonJS(trpc_exports);__reExport(trpc_exports,require("./trpc.framework"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/frameworks/trpc/index.ts"],"sourcesContent":["export * from './trpc.framework';\n"],"names":["trpc_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/frameworks/trpc/index.ts"],"sourcesContent":["export * from './trpc.framework';\n"],"names":[],"mappings":"kqBAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,YAAA,EAAA,WAAA,aAAc,QAAd,kBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,153 @@
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
+ * @deprecated You should use {@link JsonBodyParserFramework} instead, is more reliable and enable you to use transformer of trpc to other things.
11
+ * @breadcrumb Frameworks / TrpcFramework
12
+ * @public
13
+ */
14
+ export declare class BufferToJSObjectTransformer implements DataTransformer {
15
+ /**
16
+ * Deserialize unknown values to javascript objects
17
+ *
18
+ * @param value - The value to be deserialized
19
+ */
20
+ deserialize(value?: unknown): any;
21
+ /**
22
+ * The value to be serialized, do nothing because tRPC can handle.
23
+ *
24
+ * @param value - The value to be serialized
25
+ */
26
+ serialize(value: any): any;
27
+ }
28
+ /**
29
+ * The context created by this library that allows getting some information from the request and setting the status and header of the response.
30
+ *
31
+ * @breadcrumb Frameworks / TrpcFramework
32
+ * @public
33
+ */
34
+ export interface TrpcAdapterBaseContext {
35
+ /**
36
+ * The request object that will be forward to your app
37
+ */
38
+ request: IncomingMessage;
39
+ /**
40
+ * The response object that will be forward to your app to output the response
41
+ */
42
+ response: ServerResponse;
43
+ /**
44
+ * The method to set response status.
45
+ *
46
+ * @param statusCode - The response status that you want
47
+ */
48
+ setStatus(statusCode: number): void;
49
+ /**
50
+ * The method to set some header in the response
51
+ *
52
+ * @param name - The name of the header
53
+ * @param value - The value to be set in the header
54
+ */
55
+ setHeader(name: string, value: number | string): void;
56
+ /**
57
+ * The method to remove some header from the response
58
+ *
59
+ * @param name - The name of the header
60
+ */
61
+ removeHeader(name: string): void;
62
+ /**
63
+ * The method to return the value of some header from the request
64
+ *
65
+ * @param name - The name of the header
66
+ */
67
+ getHeader(name: string): string | undefined;
68
+ /**
69
+ * The method to return the request headers
70
+ */
71
+ getHeaders(): SingleValueHeaders;
72
+ /**
73
+ * The method to return user's address
74
+ */
75
+ getIp(): string | undefined;
76
+ /**
77
+ * The method to return the URL called
78
+ */
79
+ getUrl(): string | undefined;
80
+ /**
81
+ * The method to return the HTTP Method in the request
82
+ */
83
+ getMethod(): string | undefined;
84
+ }
85
+ /**
86
+ * This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.
87
+ *
88
+ * This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.
89
+ * So to make the type work, just send the properties you've added inside {@link TContext}.
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * type MyCustomContext = { user: { name: string } };
94
+ * type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router
95
+ * ```
96
+ *
97
+ * @breadcrumb Frameworks / TrpcFramework
98
+ * @public
99
+ */
100
+ export type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;
101
+ /**
102
+ * The options to customize the {@link TrpcFramework}
103
+ *
104
+ * @breadcrumb Frameworks / TrpcFramework
105
+ * @public
106
+ */
107
+ export type TrpcFrameworkOptions<TContext> = Omit<NodeHTTPHandlerOptions<AnyRouter, IncomingMessage, ServerResponse>, 'router' | 'createContext'> & {
108
+ createContext?: (opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>) => Omit<TContext, keyof TrpcAdapterBaseContext> | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;
109
+ };
110
+ /**
111
+ * The framework that forwards requests to TRPC handler
112
+ *
113
+ * @breadcrumb Frameworks / TrpcFramework
114
+ * @public
115
+ */
116
+ export declare class TrpcFramework<TContext extends TrpcAdapterBaseContext, TRouter extends AnyRouter = AnyRouter> implements FrameworkContract<TRouter> {
117
+ protected readonly options?: TrpcFrameworkOptions<TContext> | undefined;
118
+ /**
119
+ * Default constructor
120
+ */
121
+ constructor(options?: TrpcFrameworkOptions<TContext> | undefined);
122
+ /**
123
+ * {@inheritDoc}
124
+ */
125
+ sendRequest<TRouter extends AnyRouter>(app: TRouter, request: IncomingMessage, response: ServerResponse): void;
126
+ /**
127
+ * Get safe url that can be used inside Trpc.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const url = getSafeUrlForTrpc('/users?input=hello');
132
+ * console.log(url); // users
133
+ * ```
134
+ *
135
+ * @param request - The request object that will be forward to your app
136
+ */
137
+ protected getSafeUrlForTrpc(request: IncomingMessage): string;
138
+ /**
139
+ * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.
140
+ *
141
+ * @param createContextOptions - The options sent by trpc to create the context
142
+ */
143
+ protected mergeDefaultContextWithOptionsContext(createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext | Promise<TContext>;
144
+ /**
145
+ * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge
146
+ * with the {@link TrpcAdapterContext} generated by the library.
147
+ *
148
+ * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}
149
+ * @param createContextOptions - The options sent by trpc to create the context
150
+ */
151
+ protected wrapResolvedContextWithDefaultContext(resolvedContext: TContext, createContextOptions: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>): TContext;
152
+ }
153
+ //# sourceMappingURL=trpc.framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trpc.framework.d.ts","sourceRoot":"","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAEL,8BAA8B,EAC9B,sBAAsB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD;;;;;;GAMG;AACH,qBAAa,2BAA4B,YAAW,eAAe;IACjE;;;;OAIG;IACI,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,GAAG;IAMxC;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGlC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEtD;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,UAAU,IAAI,kBAAkB,CAAC;IAEjC;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,SAAS,CAAC;IAE5B;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IAE7B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,CAAC,QAAQ,IAAI,QAAQ,GAAG,sBAAsB,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,QAAQ,IAAI,IAAI,CAC/C,sBAAsB,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAClE,QAAQ,GAAG,eAAe,CAC3B,GAAG;IACF,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,8BAA8B,CAAC,eAAe,EAAE,cAAc,CAAC,KAEnE,IAAI,CAAC,QAAQ,EAAE,MAAM,sBAAsB,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,sBAAsB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,aAAa,CACxB,QAAQ,SAAS,sBAAsB,EACvC,OAAO,SAAS,SAAS,GAAG,SAAS,CACrC,YAAW,iBAAiB,CAAC,OAAO,CAAC;IAOzB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAHvC;;OAEG;gBAC4B,OAAO,CAAC,4CAAgC;IAMvE;;OAEG;IACI,WAAW,CAAC,OAAO,SAAS,SAAS,EAC1C,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,IAAI;IAkBP;;;;;;;;;;OAUG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAU7D;;;;OAIG;IACH,SAAS,CAAC,qCAAqC,CAC7C,oBAAoB,EAAE,8BAA8B,CAClD,eAAe,EACf,cAAc,CACf,GACA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B/B;;;;;;OAMG;IACH,SAAS,CAAC,qCAAqC,CAC7C,eAAe,EAAE,QAAQ,EACzB,oBAAoB,EAAE,8BAA8B,CAClD,eAAe,EACf,cAAc,CACf,GACA,QAAQ;CAiCZ"}
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty,d=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,f=(n,e)=>{for(var t in e)i(n,t,{get:e[t],enumerable:!0})},h=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!l.call(n,o)&&o!==t&&i(n,o,{get:()=>e[o],enumerable:!(r=d(e,o))||r.enumerable});return n},_=n=>h(i({},"__esModule",{value:!0}),n),p={};f(p,{BufferToJSObjectTransformer:()=>v,TrpcFramework:()=>m});module.exports=_(p);var g=require("@trpc/server/adapters/node-http"),a=require("../../core");class v{deserialize(e){return e instanceof Buffer?JSON.parse(e.toString("utf-8")):e}serialize(e){return e}}class m{constructor(e){this.options=e}sendRequest(e,t,r){const o=this.getSafeUrlForTrpc(t);(0,g.nodeHTTPRequestHandler)({req:t,res:r,path:o,router:e,...this.options,createContext:s=>this.mergeDefaultContextWithOptionsContext(s)})}getSafeUrlForTrpc(e){let t=e.url;return t.startsWith("/")&&(t=t.slice(1)),t.includes("?")&&(t=t.split("?")[0]),t}mergeDefaultContextWithOptionsContext(e){var o;const r=(0,a.getDefaultIfUndefined)((o=this.options)==null?void 0:o.createContext,()=>{})(e);return r&&r.then?r.then(s=>this.wrapResolvedContextWithDefaultContext(s,e)):this.wrapResolvedContextWithDefaultContext(r,e)}wrapResolvedContextWithDefaultContext(e,t){const r=t.req,o=t.res;return{...e,request:r,response:o,getUrl:()=>r.url,getMethod:()=>r.method,getHeaders:()=>(0,a.getFlattenedHeadersMap)(r.headers,",",!0),setHeader:(s,u)=>{o.setHeader(s,u)},removeHeader:s=>{o.removeHeader(s)},getHeader:s=>(0,a.getFlattenedHeadersMap)(r.headers,",",!0)[s.toLowerCase()],setStatus:s=>{o.statusCode=s,o.statusMessage=void 0},getIp:()=>r.connection.remoteAddress}}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),trpc_framework_exports={};__export(trpc_framework_exports,{BufferToJSObjectTransformer:()=>BufferToJSObjectTransformer,TrpcFramework:()=>TrpcFramework});module.exports=__toCommonJS(trpc_framework_exports);var import_node_http=require("@trpc/server/adapters/node-http"),import_core=require("../../core");class BufferToJSObjectTransformer{deserialize(value){return value instanceof Buffer?JSON.parse(value.toString("utf-8")):value}serialize(value){return value}}class TrpcFramework{constructor(options){this.options=options}sendRequest(app,request,response){const endpoint=this.getSafeUrlForTrpc(request);(0,import_node_http.nodeHTTPRequestHandler)({req:request,res:response,path:endpoint,router:app,...this.options,createContext:createContextOptions=>this.mergeDefaultContextWithOptionsContext(createContextOptions)})}getSafeUrlForTrpc(request){let url=request.url;return url.startsWith("/")&&(url=url.slice(1)),url.includes("?")&&(url=url.split("?")[0]),url}mergeDefaultContextWithOptionsContext(createContextOptions){var _a;const resolvedContext=(0,import_core.getDefaultIfUndefined)((_a=this.options)==null?void 0:_a.createContext,()=>{})(createContextOptions);return resolvedContext&&resolvedContext.then?resolvedContext.then(context=>this.wrapResolvedContextWithDefaultContext(context,createContextOptions)):this.wrapResolvedContextWithDefaultContext(resolvedContext,createContextOptions)}wrapResolvedContextWithDefaultContext(resolvedContext,createContextOptions){const request=createContextOptions.req,response=createContextOptions.res;return{...resolvedContext,request,response,getUrl:()=>request.url,getMethod:()=>request.method,getHeaders:()=>(0,import_core.getFlattenedHeadersMap)(request.headers,",",!0),setHeader:(header,value)=>{response.setHeader(header,value)},removeHeader:header=>{response.removeHeader(header)},getHeader:header=>(0,import_core.getFlattenedHeadersMap)(request.headers,",",!0)[header.toLowerCase()],setStatus:statusCode=>{response.statusCode=statusCode,response.statusMessage=void 0},getIp:()=>request.connection.remoteAddress}}}
2
2
  //# sourceMappingURL=trpc.framework.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trpc.framework.js","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"sourcesContent":["//#region\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { AnyRouter, DataTransformer } from '@trpc/server';\nimport {\n NodeHTTPCreateContextFn,\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n nodeHTTPRequestHandler,\n} from '@trpc/server/adapters/node-http';\nimport { SingleValueHeaders } from '../../@types';\nimport { FrameworkContract } from '../../contracts';\nimport { getDefaultIfUndefined, getFlattenedHeadersMap } from '../../core';\n\n//#endregion\n\n/**\n * The transformer that is responsible to transform buffer's input to javascript objects\n *\n * @deprecated You should use {@link JsonBodyParserFramework} instead, is more reliable and enable you to use transformer of trpc to other things.\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class BufferToJSObjectTransformer implements DataTransformer {\n /**\n * Deserialize unknown values to javascript objects\n *\n * @param value - The value to be deserialized\n */\n public deserialize(value?: unknown): any {\n if (value instanceof Buffer) return JSON.parse(value.toString('utf-8'));\n\n return value;\n }\n\n /**\n * The value to be serialized, do nothing because tRPC can handle.\n *\n * @param value - The value to be serialized\n */\n public serialize(value: any): any {\n return value;\n }\n}\n\n/**\n * The context created by this library that allows getting some information from the request and setting the status and header of the response.\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport interface TrpcAdapterBaseContext {\n /**\n * The request object that will be forward to your app\n */\n request: IncomingMessage;\n\n /**\n * The response object that will be forward to your app to output the response\n */\n response: ServerResponse;\n\n /**\n * The method to set response status.\n *\n * @param statusCode - The response status that you want\n */\n setStatus(statusCode: number): void;\n\n /**\n * The method to set some header in the response\n *\n * @param name - The name of the header\n * @param value - The value to be set in the header\n */\n setHeader(name: string, value: number | string): void;\n\n /**\n * The method to remove some header from the response\n *\n * @param name - The name of the header\n */\n removeHeader(name: string): void;\n\n /**\n * The method to return the value of some header from the request\n *\n * @param name - The name of the header\n */\n getHeader(name: string): string | undefined;\n\n /**\n * The method to return the request headers\n */\n getHeaders(): SingleValueHeaders;\n\n /**\n * The method to return user's address\n */\n getIp(): string | undefined;\n\n /**\n * The method to return the URL called\n */\n getUrl(): string | undefined;\n\n /**\n * The method to return the HTTP Method in the request\n */\n getMethod(): string | undefined;\n}\n\n/**\n * This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.\n *\n * This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.\n * So to make the type work, just send the properties you've added inside {@link TContext}.\n *\n * @example\n * ```typescript\n * type MyCustomContext = { user: { name: string } };\n * type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router\n * ```\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;\n\n/**\n * The options to customize the {@link TrpcFramework}\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcFrameworkOptions<TContext> = Omit<\n NodeHTTPHandlerOptions<AnyRouter, IncomingMessage, ServerResponse>,\n 'router' | 'createContext'\n> & {\n createContext?: (\n opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>,\n ) =>\n | Omit<TContext, keyof TrpcAdapterBaseContext>\n | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;\n};\n\n/**\n * The framework that forwards requests to TRPC handler\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class TrpcFramework<\n TContext extends TrpcAdapterBaseContext,\n TRouter extends AnyRouter = AnyRouter,\n> implements FrameworkContract<TRouter>\n{\n //#region Constructor\n\n /**\n * Default constructor\n */\n constructor(protected readonly options?: TrpcFrameworkOptions<TContext>) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest<TRouter extends AnyRouter>(\n app: TRouter,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const endpoint = this.getSafeUrlForTrpc(request);\n\n nodeHTTPRequestHandler({\n req: request,\n res: response,\n path: endpoint,\n router: app,\n ...this.options,\n createContext: createContextOptions =>\n this.mergeDefaultContextWithOptionsContext(createContextOptions),\n });\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get safe url that can be used inside Trpc.\n *\n * @example\n * ```typescript\n * const url = getSafeUrlForTrpc('/users?input=hello');\n * console.log(url); // users\n * ```\n *\n * @param request - The request object that will be forward to your app\n */\n protected getSafeUrlForTrpc(request: IncomingMessage): string {\n let url = request.url!;\n\n if (url.startsWith('/')) url = url.slice(1);\n\n if (url.includes('?')) url = url.split('?')[0];\n\n return url;\n }\n\n /**\n * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.\n *\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected mergeDefaultContextWithOptionsContext(\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext | Promise<TContext> {\n const createContextFromOptions: NodeHTTPCreateContextFn<\n AnyRouter,\n IncomingMessage,\n ServerResponse\n > = getDefaultIfUndefined(\n this.options?.createContext,\n () =>\n undefined as unknown as Omit<TContext, keyof TrpcAdapterBaseContext>,\n );\n\n const resolvedContext = createContextFromOptions(createContextOptions);\n\n if (resolvedContext && resolvedContext.then) {\n return resolvedContext.then(context =>\n this.wrapResolvedContextWithDefaultContext(\n context,\n createContextOptions,\n ),\n );\n }\n\n return this.wrapResolvedContextWithDefaultContext(\n resolvedContext,\n createContextOptions,\n );\n }\n\n /**\n * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge\n * with the {@link TrpcAdapterContext} generated by the library.\n *\n * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected wrapResolvedContextWithDefaultContext(\n resolvedContext: TContext,\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext {\n const request = createContextOptions.req;\n const response = createContextOptions.res;\n\n return {\n ...resolvedContext,\n request,\n response,\n getUrl: () => request.url,\n getMethod: () => request.method,\n getHeaders: () => getFlattenedHeadersMap(request.headers, ',', true),\n setHeader: (header, value) => {\n response.setHeader(header, value);\n },\n removeHeader: header => {\n response.removeHeader(header);\n },\n getHeader: (header: string) => {\n return getFlattenedHeadersMap(request.headers, ',', true)[\n header.toLowerCase()\n ];\n },\n setStatus: (statusCode: number) => {\n response.statusCode = statusCode;\n // force undefined to get default message for the status code\n // ref: https://nodejs.org/dist/latest-v16.x/docs/api/http.html#responsestatusmessage\n response.statusMessage = undefined as any;\n },\n getIp: () => request.connection.remoteAddress,\n };\n }\n\n //#endregion\n}\n"],"names":["trpc_framework_exports","__export","BufferToJSObjectTransformer","TrpcFramework","__toCommonJS","import_node_http","import_core","value","options","app","request","response","endpoint","createContextOptions","url","resolvedContext","_a","context","header","statusCode"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,4BAAA,IAAAE,EAAA,cAAA,IAAAC,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAJ,CAAA,EAIA,IAKOK,EAAA,QAAA,iCAAA,EAGuDC,EAAA,QAAA,YAAA,EAWvD,MAAMJ,CAAuD,CAM3D,YAAYK,EAAsB,CACvC,OAAIA,aAAiB,OAAe,KAAK,MAAMA,EAAM,SAAS,OAAO,CAAC,EAE/DA,CACT,CAOO,UAAUA,EAAiB,CACzB,OAAAA,CACT,CACF,CA6GO,MAAMJ,CAIb,CAME,YAA+BK,EAA0C,CAA1C,KAAA,QAAAA,CAA2C,CASnE,YACLC,EACAC,EACAC,EACM,CACA,MAAAC,EAAW,KAAK,kBAAkBF,CAAO,KAExBL,EAAA,wBAAA,CACrB,IAAKK,EACL,IAAKC,EACL,KAAMC,EACN,OAAQH,EACR,GAAG,KAAK,QACR,cAAeI,GACb,KAAK,sCAAsCA,CAAoB,CAAA,CAClE,CACH,CAiBU,kBAAkBH,EAAkC,CAC5D,IAAII,EAAMJ,EAAQ,IAEd,OAAAI,EAAI,WAAW,GAAG,IAASA,EAAAA,EAAI,MAAM,CAAC,GAEtCA,EAAI,SAAS,GAAG,IAAGA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,GAEtCA,CACT,CAOU,sCACRD,EAI8B,OAWxB,MAAAE,KANFT,EAAA,wBACFU,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,IAAA,EACE,EAG6CH,CAAoB,EAEjE,OAAAE,GAAmBA,EAAgB,KAC9BA,EAAgB,QACrB,KAAK,sCACHE,EACAJ,CACF,CAAA,EAIG,KAAK,sCACVE,EACAF,CAAA,CAEJ,CASU,sCACRE,EACAF,EAIU,CACV,MAAMH,EAAUG,EAAqB,IAC/BF,EAAWE,EAAqB,IAE/B,MAAA,CACL,GAAGE,EACH,QAAAL,EACA,SAAAC,EACA,OAAQ,IAAMD,EAAQ,IACtB,UAAW,IAAMA,EAAQ,OACzB,WAAY,OAAMJ,EAAA,wBAAuBI,EAAQ,QAAS,IAAK,EAAI,EACnE,UAAW,CAACQ,EAAQX,IAAU,CACnBI,EAAA,UAAUO,EAAQX,CAAK,CAClC,EACA,aAAwBW,GAAA,CACtBP,EAAS,aAAaO,CAAM,CAC9B,EACA,UAAYA,MACHZ,EAAA,wBAAuBI,EAAQ,QAAS,IAAK,EAAI,EACtDQ,EAAO,aACT,EAEF,UAAYC,GAAuB,CACjCR,EAAS,WAAaQ,EAGtBR,EAAS,cAAgB,MAC3B,EACA,MAAO,IAAMD,EAAQ,WAAW,aAAA,CAEpC,CAGF"}
1
+ {"version":3,"file":"trpc.framework.js","sources":["../../../src/frameworks/trpc/trpc.framework.ts"],"sourcesContent":["//#region\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport type { AnyRouter, DataTransformer } from '@trpc/server';\nimport {\n NodeHTTPCreateContextFn,\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n nodeHTTPRequestHandler,\n} from '@trpc/server/adapters/node-http';\nimport { SingleValueHeaders } from '../../@types';\nimport { FrameworkContract } from '../../contracts';\nimport { getDefaultIfUndefined, getFlattenedHeadersMap } from '../../core';\n\n//#endregion\n\n/**\n * The transformer that is responsible to transform buffer's input to javascript objects\n *\n * @deprecated You should use {@link JsonBodyParserFramework} instead, is more reliable and enable you to use transformer of trpc to other things.\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class BufferToJSObjectTransformer implements DataTransformer {\n /**\n * Deserialize unknown values to javascript objects\n *\n * @param value - The value to be deserialized\n */\n public deserialize(value?: unknown): any {\n if (value instanceof Buffer) return JSON.parse(value.toString('utf-8'));\n\n return value;\n }\n\n /**\n * The value to be serialized, do nothing because tRPC can handle.\n *\n * @param value - The value to be serialized\n */\n public serialize(value: any): any {\n return value;\n }\n}\n\n/**\n * The context created by this library that allows getting some information from the request and setting the status and header of the response.\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport interface TrpcAdapterBaseContext {\n /**\n * The request object that will be forward to your app\n */\n request: IncomingMessage;\n\n /**\n * The response object that will be forward to your app to output the response\n */\n response: ServerResponse;\n\n /**\n * The method to set response status.\n *\n * @param statusCode - The response status that you want\n */\n setStatus(statusCode: number): void;\n\n /**\n * The method to set some header in the response\n *\n * @param name - The name of the header\n * @param value - The value to be set in the header\n */\n setHeader(name: string, value: number | string): void;\n\n /**\n * The method to remove some header from the response\n *\n * @param name - The name of the header\n */\n removeHeader(name: string): void;\n\n /**\n * The method to return the value of some header from the request\n *\n * @param name - The name of the header\n */\n getHeader(name: string): string | undefined;\n\n /**\n * The method to return the request headers\n */\n getHeaders(): SingleValueHeaders;\n\n /**\n * The method to return user's address\n */\n getIp(): string | undefined;\n\n /**\n * The method to return the URL called\n */\n getUrl(): string | undefined;\n\n /**\n * The method to return the HTTP Method in the request\n */\n getMethod(): string | undefined;\n}\n\n/**\n * This is the context merged between {@link TrpcAdapterBaseContext} and the {@link TContext} that you provided.\n *\n * This context will be merged with the context you created with `createContext` inside {@link TrpcFrameworkOptions}.\n * So to make the type work, just send the properties you've added inside {@link TContext}.\n *\n * @example\n * ```typescript\n * type MyCustomContext = { user: { name: string } };\n * type TrpcContext = TrpcAdapterContext<MyCustomContext>; // your final context type to put inside trpc.router\n * ```\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcAdapterContext<TContext> = TContext & TrpcAdapterBaseContext;\n\n/**\n * The options to customize the {@link TrpcFramework}\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport type TrpcFrameworkOptions<TContext> = Omit<\n NodeHTTPHandlerOptions<AnyRouter, IncomingMessage, ServerResponse>,\n 'router' | 'createContext'\n> & {\n createContext?: (\n opts: NodeHTTPCreateContextFnOptions<IncomingMessage, ServerResponse>,\n ) =>\n | Omit<TContext, keyof TrpcAdapterBaseContext>\n | Promise<Omit<TContext, keyof TrpcAdapterBaseContext>>;\n};\n\n/**\n * The framework that forwards requests to TRPC handler\n *\n * @breadcrumb Frameworks / TrpcFramework\n * @public\n */\nexport class TrpcFramework<\n TContext extends TrpcAdapterBaseContext,\n TRouter extends AnyRouter = AnyRouter,\n> implements FrameworkContract<TRouter>\n{\n //#region Constructor\n\n /**\n * Default constructor\n */\n constructor(protected readonly options?: TrpcFrameworkOptions<TContext>) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public sendRequest<TRouter extends AnyRouter>(\n app: TRouter,\n request: IncomingMessage,\n response: ServerResponse,\n ): void {\n const endpoint = this.getSafeUrlForTrpc(request);\n\n nodeHTTPRequestHandler({\n req: request,\n res: response,\n path: endpoint,\n router: app,\n ...this.options,\n createContext: createContextOptions =>\n this.mergeDefaultContextWithOptionsContext(createContextOptions),\n });\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get safe url that can be used inside Trpc.\n *\n * @example\n * ```typescript\n * const url = getSafeUrlForTrpc('/users?input=hello');\n * console.log(url); // users\n * ```\n *\n * @param request - The request object that will be forward to your app\n */\n protected getSafeUrlForTrpc(request: IncomingMessage): string {\n let url = request.url!;\n\n if (url.startsWith('/')) url = url.slice(1);\n\n if (url.includes('?')) url = url.split('?')[0];\n\n return url;\n }\n\n /**\n * Merge the default context ({@link TrpcAdapterContext}) with the context created by the user.\n *\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected mergeDefaultContextWithOptionsContext(\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext | Promise<TContext> {\n const createContextFromOptions: NodeHTTPCreateContextFn<\n AnyRouter,\n IncomingMessage,\n ServerResponse\n > = getDefaultIfUndefined(\n this.options?.createContext,\n () =>\n undefined as unknown as Omit<TContext, keyof TrpcAdapterBaseContext>,\n );\n\n const resolvedContext = createContextFromOptions(createContextOptions);\n\n if (resolvedContext && resolvedContext.then) {\n return resolvedContext.then(context =>\n this.wrapResolvedContextWithDefaultContext(\n context,\n createContextOptions,\n ),\n );\n }\n\n return this.wrapResolvedContextWithDefaultContext(\n resolvedContext,\n createContextOptions,\n );\n }\n\n /**\n * Wraps the resolved context from the {@link TrpcFrameworkOptions} created with `createContext` and merge\n * with the {@link TrpcAdapterContext} generated by the library.\n *\n * @param resolvedContext - The context created with `createContext` inside {@link TrpcFrameworkOptions}\n * @param createContextOptions - The options sent by trpc to create the context\n */\n protected wrapResolvedContextWithDefaultContext(\n resolvedContext: TContext,\n createContextOptions: NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ServerResponse\n >,\n ): TContext {\n const request = createContextOptions.req;\n const response = createContextOptions.res;\n\n return {\n ...resolvedContext,\n request,\n response,\n getUrl: () => request.url,\n getMethod: () => request.method,\n getHeaders: () => getFlattenedHeadersMap(request.headers, ',', true),\n setHeader: (header, value) => {\n response.setHeader(header, value);\n },\n removeHeader: header => {\n response.removeHeader(header);\n },\n getHeader: (header: string) => {\n return getFlattenedHeadersMap(request.headers, ',', true)[\n header.toLowerCase()\n ];\n },\n setStatus: (statusCode: number) => {\n response.statusCode = statusCode;\n // force undefined to get default message for the status code\n // ref: https://nodejs.org/dist/latest-v16.x/docs/api/http.html#responsestatusmessage\n response.statusMessage = undefined as any;\n },\n getIp: () => request.connection.remoteAddress,\n };\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,uBAAA,CAAA,EAAA,SAAA,uBAAA,CAAA,4BAAA,IAAA,4BAAA,cAAA,IAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,sBAAA,EAIA,IAKO,iBAAA,QAAA,iCAAA,EAGuD,YAAA,QAAA,YAAA,EAWvD,MAAM,2BAAuD,CAM3D,YAAY,MAAsB,CACvC,OAAI,iBAAiB,OAAe,KAAK,MAAM,MAAM,SAAS,OAAO,CAAC,EAE/D,KACT,CAOO,UAAU,MAAiB,CACzB,OAAA,KACT,CACF,CA6GO,MAAM,aAIb,CAME,YAA+B,QAA0C,CAA1C,KAAA,QAAA,OAA2C,CASnE,YACL,IACA,QACA,SACM,CACA,MAAA,SAAW,KAAK,kBAAkB,OAAO,KAExB,iBAAA,wBAAA,CACrB,IAAK,QACL,IAAK,SACL,KAAM,SACN,OAAQ,IACR,GAAG,KAAK,QACR,cAAe,sBACb,KAAK,sCAAsC,oBAAoB,CAAA,CAClE,CACH,CAiBU,kBAAkB,QAAkC,CAC5D,IAAI,IAAM,QAAQ,IAEd,OAAA,IAAI,WAAW,GAAG,IAAS,IAAA,IAAI,MAAM,CAAC,GAEtC,IAAI,SAAS,GAAG,IAAG,IAAM,IAAI,MAAM,GAAG,EAAE,CAAC,GAEtC,GACT,CAOU,sCACR,qBAI8B,QAWxB,MAAA,mBANF,YAAA,wBACF,QAAK,UAAL,eAAc,cACd,IAAA,EACE,EAG6C,oBAAoB,EAEjE,OAAA,iBAAmB,gBAAgB,KAC9B,gBAAgB,cACrB,KAAK,sCACH,QACA,oBACF,CAAA,EAIG,KAAK,sCACV,gBACA,oBAAA,CAEJ,CASU,sCACR,gBACA,qBAIU,CACV,MAAM,QAAU,qBAAqB,IAC/B,SAAW,qBAAqB,IAE/B,MAAA,CACL,GAAG,gBACH,QACA,SACA,OAAQ,IAAM,QAAQ,IACtB,UAAW,IAAM,QAAQ,OACzB,WAAY,OAAM,YAAA,wBAAuB,QAAQ,QAAS,IAAK,EAAI,EACnE,UAAW,CAAC,OAAQ,QAAU,CACnB,SAAA,UAAU,OAAQ,KAAK,CAClC,EACA,aAAwB,QAAA,CACtB,SAAS,aAAa,MAAM,CAC9B,EACA,UAAY,WACH,YAAA,wBAAuB,QAAQ,QAAS,IAAK,EAAI,EACtD,OAAO,aACT,EAEF,UAAY,YAAuB,CACjC,SAAS,WAAa,WAGtB,SAAS,cAAgB,MAC3B,EACA,MAAO,IAAM,QAAQ,WAAW,aAAA,CAEpC,CAGF"}
@@ -0,0 +1,89 @@
1
+ /// <reference types="node" />
2
+ import { Writable } from 'stream';
3
+ import type { APIGatewayProxyEventV2, Context } from 'aws-lambda';
4
+ import type { APIGatewayProxyStructuredResultV2 } from 'aws-lambda/trigger/api-gateway-proxy';
5
+ import { BinarySettings } from '../../@types';
6
+ import { AdapterContract, AdapterRequest, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
7
+ import { BaseHandler, ILogger } from '../../core';
8
+ /**
9
+ * @breadcrumb Handlers / AwsStreamHandler
10
+ * @public
11
+ */
12
+ export type AWSResponseStream = Writable;
13
+ /**
14
+ * @breadcrumb Handlers / AwsStreamHandler
15
+ * @public
16
+ */
17
+ export type AWSStreamResponseMetadata = Pick<APIGatewayProxyStructuredResultV2, 'statusCode' | 'headers' | 'cookies'>;
18
+ /**
19
+ * The interface that describes the internal context used by the {@link AwsStreamHandler}
20
+ *
21
+ * @breadcrumb Handlers / AwsStreamHandler
22
+ * @public
23
+ */
24
+ export type AWSStreamContext = {
25
+ /**
26
+ * The response stream provided by the serverless
27
+ */
28
+ response: AWSResponseStream;
29
+ /**
30
+ * The context provided by the serverless
31
+ */
32
+ context: Context;
33
+ };
34
+ /**
35
+ * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively
36
+ *
37
+ * @breadcrumb Handlers / AwsStreamHandler
38
+ * @public
39
+ */
40
+ export declare class AwsStreamHandler<TApp> extends BaseHandler<TApp, APIGatewayProxyEventV2, AWSStreamContext, void, AWSStreamResponseMetadata, void> {
41
+ /**
42
+ * {@inheritDoc}
43
+ */
44
+ getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<APIGatewayProxyEventV2, AWSStreamContext, AWSStreamResponseMetadata>[], resolverFactory: ResolverContract<unknown, unknown, unknown, unknown, unknown>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<Promise<void>>;
45
+ /**
46
+ * The hook executed on receive a request, before the request is being processed
47
+ *
48
+ * @param log - The instance of logger
49
+ * @param event - The event sent by serverless
50
+ * @param context - The context sent by serverless
51
+ * @param binarySettings - The binary settings
52
+ * @param respondWithErrors - Indicates whether the error stack should be included in the response or not
53
+ */
54
+ protected onReceiveRequest(log: ILogger, event: APIGatewayProxyEventV2, context: AWSStreamContext, binarySettings: BinarySettings, respondWithErrors: boolean): void;
55
+ /**
56
+ * The hook executed after resolve the adapter that will be used to handle the request and response
57
+ *
58
+ * @param log - The instance of logger
59
+ * @param adapter - The adapter resolved
60
+ */
61
+ protected onResolveAdapter(log: ILogger, adapter: AdapterContract<APIGatewayProxyEventV2, AWSStreamContext, AWSStreamResponseMetadata>): void;
62
+ /**
63
+ * The hook executed after resolves the request values that will be sent to the framework
64
+ *
65
+ * @param log - The instance of logger
66
+ * @param requestValues - The request values returned by the adapter
67
+ */
68
+ protected onResolveRequestValues(log: ILogger, requestValues: AdapterRequest): void;
69
+ /**
70
+ * The hook executed before sending response to the serverless with response from adapter
71
+ *
72
+ * @param log - The instance of logger
73
+ * @param successResponse - The success response resolved by the adapter
74
+ */
75
+ protected onForwardResponseAdapterResponse(log: ILogger, successResponse: AWSStreamResponseMetadata): void;
76
+ /**
77
+ * The function to forward the event to the framework
78
+ *
79
+ * @param app - The instance of the app (express, hapi, etc...)
80
+ * @param framework - The framework that will process requests
81
+ * @param event - The event sent by serverless
82
+ * @param context - The context sent by serverless
83
+ * @param adapter - The adapter resolved to this event
84
+ * @param log - The instance of logger
85
+ * @param binarySettings - The binary settings
86
+ */
87
+ protected forwardRequestToFramework(app: TApp, framework: FrameworkContract<TApp>, event: APIGatewayProxyEventV2, context: AWSStreamContext, adapter: AdapterContract<APIGatewayProxyEventV2, AWSStreamContext, AWSStreamResponseMetadata>, binarySettings: BinarySettings, log: ILogger): Promise<void>;
88
+ }
89
+ //# sourceMappingURL=aws-stream.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-stream.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/aws/aws-stream.handler.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,OAAO,EAIR,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iCAAiC,EACjC,YAAY,GAAG,SAAS,GAAG,SAAS,CACrC,CAAC;AAsBF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,gBAAgB,CAAC,IAAI,CAAE,SAAQ,WAAW,CACrD,IAAI,EACJ,sBAAsB,EACtB,gBAAgB,EAChB,IAAI,EACJ,yBAAyB,EACzB,IAAI,CACL;IAGC;;OAEG;IACI,UAAU,CACf,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,eAAe,CACvB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,CAC1B,EAAE,EACH,eAAe,EAAE,gBAAgB,CAC/B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACR,EACD,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAuCnC;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CACxB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,GACzB,IAAI;IASP;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CACxB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,CACtB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,CAC1B,GACA,IAAI;IAOP;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAC9B,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,cAAc,GAC5B,IAAI;IAYP;;;;;OAKG;IACH,SAAS,CAAC,gCAAgC,CACxC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,yBAAyB;IAW5C;;;;;;;;;;OAUG;cACa,yBAAyB,CACvC,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,eAAe,CACtB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,CAC1B,EACD,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC;CAuEjB"}
@@ -1,2 +1,2 @@
1
- "use strict";var y=Object.create,S=Object.defineProperty,f=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,q=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,F=(r,e)=>{for(var t in e)S(r,t,{get:e[t],enumerable:!0})},w=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of h(e))!D.call(r,o)&&o!==t&&S(r,o,{get:()=>e[o],enumerable:!(a=f(e,o))||a.enumerable});return r},M=(r,e,t)=>(t=r!=null?y(q(r)):{},w(e||!r||!r.__esModule?S(t,"default",{value:r,enumerable:!0}):t,r)),V=r=>w(S({},"__esModule",{value:!0}),r),b={};F(b,{AwsStreamHandler:()=>g});module.exports=V(b);var H=M(require("util")),p=require("../../core"),v=require("../../network");class g extends p.BaseHandler{getHandler(e,t,a,o,d,c,n){return awslambda.streamifyResponse(async(s,i,E)=>{const R={response:i,context:E};this.onReceiveRequest(n,s,R,d,c);const _=this.getAdapterByEventAndContext(s,R,a,n);this.onResolveAdapter(n,_),(0,p.setCurrentInvoke)({event:s,context:E}),await this.forwardRequestToFramework(e,t,s,R,_,d,n)})}onReceiveRequest(e,t,a,o,d){e.debug("SERVERLESS_ADAPTER:PROXY",()=>({event:t,context:H.default.inspect(a,{depth:null}),binarySettings:o,respondWithErrors:d}))}onResolveAdapter(e,t){e.debug("SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ",t.getAdapterName())}onResolveRequestValues(e,t){e.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES",()=>{var a;return{requestValues:{...t,body:(a=t.body)==null?void 0:a.toString()}}})}onForwardResponseAdapterResponse(e,t){e.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE",{successResponse:t})}async forwardRequestToFramework(e,t,a,o,d,c,n){const s=d.getRequest(a,o,n);this.onResolveRequestValues(n,s);const i=new v.ServerlessRequest({method:s.method,headers:s.headers,body:s.body,remoteAddress:s.remoteAddress,url:s.path}),E=new v.ServerlessStreamResponse({method:s.method,onReceiveHeaders:(R,_)=>{const l=(0,p.getFlattenedHeadersMap)(_),A={statusCode:R,headers:l},u=_["set-cookie"];u&&(A.cookies=Array.isArray(u)?u:[u],delete _["set-cookie"],delete l["set-cookie"]),this.onForwardResponseAdapterResponse(n,A);const O=awslambda.HttpResponseStream.from(o.response,A),P=R>=100&&R<200,m=R===304||R===204,T=s.method==="HEAD";return(P||m||T)&&(O.write(""),E.end()),O},log:n});t.sendRequest(e,i,E),n.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:WAITING_STREAM_COMPLETE"),await(0,p.waitForStreamComplete)(E),n.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:STREAM_COMPLETE"),o.response.end()}}
1
+ "use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),aws_stream_handler_exports={};__export(aws_stream_handler_exports,{AwsStreamHandler:()=>AwsStreamHandler});module.exports=__toCommonJS(aws_stream_handler_exports);var import_util=__toESM(require("util")),import_core=require("../../core"),import_network=require("../../network");class AwsStreamHandler extends import_core.BaseHandler{getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log){return awslambda.streamifyResponse(async(event,response,context)=>{const streamContext={response,context};this.onReceiveRequest(log,event,streamContext,binarySettings,respondWithErrors);const adapter=this.getAdapterByEventAndContext(event,streamContext,adapters,log);this.onResolveAdapter(log,adapter),(0,import_core.setCurrentInvoke)({event,context}),await this.forwardRequestToFramework(app,framework,event,streamContext,adapter,binarySettings,log)})}onReceiveRequest(log,event,context,binarySettings,respondWithErrors){log.debug("SERVERLESS_ADAPTER:PROXY",()=>({event,context:import_util.default.inspect(context,{depth:null}),binarySettings,respondWithErrors}))}onResolveAdapter(log,adapter){log.debug("SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ",adapter.getAdapterName())}onResolveRequestValues(log,requestValues){log.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES",()=>{var _a;return{requestValues:{...requestValues,body:(_a=requestValues.body)==null?void 0:_a.toString()}}})}onForwardResponseAdapterResponse(log,successResponse){log.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE",{successResponse})}async forwardRequestToFramework(app,framework,event,context,adapter,binarySettings,log){const requestValues=adapter.getRequest(event,context,log);this.onResolveRequestValues(log,requestValues);const request=new import_network.ServerlessRequest({method:requestValues.method,headers:requestValues.headers,body:requestValues.body,remoteAddress:requestValues.remoteAddress,url:requestValues.path}),response=new import_network.ServerlessStreamResponse({method:requestValues.method,onReceiveHeaders:(status,headers)=>{const flattenedHeaders=(0,import_core.getFlattenedHeadersMap)(headers),awsMetadata={statusCode:status,headers:flattenedHeaders},cookies=headers["set-cookie"];cookies&&(awsMetadata.cookies=Array.isArray(cookies)?cookies:[cookies],delete headers["set-cookie"],delete flattenedHeaders["set-cookie"]),this.onForwardResponseAdapterResponse(log,awsMetadata);const finalResponse=awslambda.HttpResponseStream.from(context.response,awsMetadata),isHundreadStatus=status>=100&&status<200,isNoContentStatus=status===304||status===204,isHeadRequest=requestValues.method==="HEAD";return(isHundreadStatus||isNoContentStatus||isHeadRequest)&&(finalResponse.write(""),response.end()),finalResponse},log});framework.sendRequest(app,request,response),log.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:WAITING_STREAM_COMPLETE"),await(0,import_core.waitForStreamComplete)(response),log.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:STREAM_COMPLETE"),context.response.end()}}
2
2
  //# sourceMappingURL=aws-stream.handler.js.map