@h4ad/serverless-adapter 3.0.0 → 3.2.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 -7
  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 +47 -54
@@ -1 +1 @@
1
- {"version":3,"file":"aws-stream.handler.js","sources":["../../../src/handlers/aws/aws-stream.handler.ts"],"sourcesContent":["//#region Imports\n\nimport { Writable } from 'stream';\nimport util from 'util';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport type { APIGatewayProxyStructuredResultV2 } from 'aws-lambda/trigger/api-gateway-proxy';\nimport { BinarySettings } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport {\n BaseHandler,\n ILogger,\n getFlattenedHeadersMap,\n setCurrentInvoke,\n waitForStreamComplete,\n} from '../../core';\nimport { ServerlessRequest, ServerlessStreamResponse } from '../../network';\n\n//#endregion\n\nexport type AWSResponseStream = Writable;\n\nexport type AWSStreamResponseMetadata = Pick<\n APIGatewayProxyStructuredResultV2,\n 'statusCode' | 'headers' | 'cookies'\n>;\n\ndeclare const awslambda: {\n streamifyResponse: (\n handler: (\n event: APIGatewayProxyEventV2,\n response: AWSResponseStream,\n context: Context,\n ) => Promise<void>,\n ) => any;\n HttpResponseStream: {\n from: (\n stream: AWSResponseStream,\n httpResponseMetadata: AWSStreamResponseMetadata,\n ) => AWSResponseStream;\n };\n};\n\n/**\n * The interface that describes the internal context used by the {@link AwsStreamHandler}\n *\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport type AWSStreamContext = {\n /**\n * The response stream provided by the serverless\n */\n response: AWSResponseStream;\n /**\n * The context provided by the serverless\n */\n context: Context;\n};\n\n/**\n * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively\n *\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport class AwsStreamHandler<TApp> extends BaseHandler<\n TApp,\n APIGatewayProxyEventV2,\n AWSStreamContext,\n void,\n AWSStreamResponseMetadata,\n void\n> {\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >[],\n resolverFactory: ResolverContract<\n unknown,\n unknown,\n unknown,\n unknown,\n unknown\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<Promise<void>> {\n return awslambda.streamifyResponse(async (event, response, context) => {\n const streamContext = { response, context };\n\n this.onReceiveRequest(\n log,\n event,\n streamContext,\n binarySettings,\n respondWithErrors,\n );\n\n const adapter = this.getAdapterByEventAndContext(\n event,\n streamContext,\n adapters,\n log,\n );\n\n this.onResolveAdapter(log, adapter);\n\n setCurrentInvoke({ event, context });\n\n await this.forwardRequestToFramework(\n app,\n framework,\n event,\n streamContext,\n adapter,\n binarySettings,\n log,\n );\n });\n }\n\n //#endregion\n\n //#region Hooks\n\n /**\n * The hook executed on receive a request, before the request is being processed\n *\n * @param log - The instance of logger\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param binarySettings - The binary settings\n * @param respondWithErrors - Indicates whether the error stack should be included in the response or not\n */\n protected onReceiveRequest(\n log: ILogger,\n event: APIGatewayProxyEventV2,\n context: AWSStreamContext,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n ): void {\n log.debug('SERVERLESS_ADAPTER:PROXY', () => ({\n event,\n context: util.inspect(context, { depth: null }),\n binarySettings,\n respondWithErrors,\n }));\n }\n\n /**\n * The hook executed after resolve the adapter that will be used to handle the request and response\n *\n * @param log - The instance of logger\n * @param adapter - The adapter resolved\n */\n protected onResolveAdapter(\n log: ILogger,\n adapter: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ',\n adapter.getAdapterName(),\n );\n }\n\n /**\n * The hook executed after resolves the request values that will be sent to the framework\n *\n * @param log - The instance of logger\n * @param requestValues - The request values returned by the adapter\n */\n protected onResolveRequestValues(\n log: ILogger,\n requestValues: AdapterRequest,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES',\n () => ({\n requestValues: {\n ...requestValues,\n body: requestValues.body?.toString(),\n },\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless with response from adapter\n *\n * @param log - The instance of logger\n * @param successResponse - The success response resolved by the adapter\n */\n protected onForwardResponseAdapterResponse(\n log: ILogger,\n successResponse: AWSStreamResponseMetadata,\n ) {\n log.debug('SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE', {\n successResponse,\n });\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * The function to forward the event to the framework\n *\n * @param app - The instance of the app (express, hapi, etc...)\n * @param framework - The framework that will process requests\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param adapter - The adapter resolved to this event\n * @param log - The instance of logger\n * @param binarySettings - The binary settings\n */\n protected async forwardRequestToFramework(\n app: TApp,\n framework: FrameworkContract<TApp>,\n event: APIGatewayProxyEventV2,\n context: AWSStreamContext,\n adapter: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >,\n binarySettings: BinarySettings,\n log: ILogger,\n ): Promise<void> {\n const requestValues = adapter.getRequest(event, context, log);\n\n this.onResolveRequestValues(log, requestValues);\n\n const request = new ServerlessRequest({\n method: requestValues.method,\n headers: requestValues.headers,\n body: requestValues.body,\n remoteAddress: requestValues.remoteAddress,\n url: requestValues.path,\n });\n\n const response = new ServerlessStreamResponse({\n method: requestValues.method,\n onReceiveHeaders: (status, headers) => {\n const flattenedHeaders = getFlattenedHeadersMap(headers);\n const awsMetadata: AWSStreamResponseMetadata = {\n statusCode: status,\n headers: flattenedHeaders,\n };\n\n const cookies = headers['set-cookie'];\n\n if (cookies) {\n awsMetadata.cookies = Array.isArray(cookies) ? cookies : [cookies];\n\n delete headers['set-cookie'];\n delete flattenedHeaders['set-cookie'];\n }\n\n this.onForwardResponseAdapterResponse(log, awsMetadata);\n\n const finalResponse = awslambda.HttpResponseStream.from(\n context.response,\n awsMetadata,\n );\n\n // some status do not return body, and\n // for some unknown reason, we cannot finish the stream without writing at least once\n // so I have this thing just to fix this issue\n // ref: https://stackoverflow.com/a/37303151\n const isHundreadStatus = status >= 100 && status < 200;\n const isNoContentStatus = status === 304 || status === 204;\n const isHeadRequest = requestValues.method === 'HEAD';\n\n if (isHundreadStatus || isNoContentStatus || isHeadRequest) {\n finalResponse.write('');\n // end the response to avoid waiting for nothing\n response.end();\n }\n\n return finalResponse;\n },\n log,\n });\n\n framework.sendRequest(app, request, response);\n\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:WAITING_STREAM_COMPLETE',\n );\n await waitForStreamComplete(response);\n\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:STREAM_COMPLETE',\n );\n context.response.end();\n }\n\n //#endregion\n}\n"],"names":["aws_stream_handler_exports","__export","AwsStreamHandler","__toCommonJS","import_util","__toESM","import_core","import_network","app","framework","adapters","resolverFactory","binarySettings","respondWithErrors","log","event","response","context","streamContext","adapter","util","requestValues","_a","successResponse","request","status","headers","flattenedHeaders","awsMetadata","cookies","finalResponse","isHundreadStatus","isNoContentStatus","isHeadRequest"],"mappings":"kiBAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,iBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAGA,IAAiBI,EAAAC,EAAA,QAAA,MAAA,CAAA,EAiBVC,EAAA,QAAA,YAAA,EACqDC,EAAA,QAAA,eAAA,EAkDrD,MAAML,UAA+BI,EAO1C,WAAA,CAMO,WACLE,EACAC,EACAC,EAKAC,EAOAC,EACAC,EACAC,EACkC,CAClC,OAAO,UAAU,kBAAkB,MAAOC,EAAOC,EAAUC,IAAY,CAC/D,MAAAC,EAAgB,CAAE,SAAAF,EAAU,QAAAC,GAE7B,KAAA,iBACHH,EACAC,EACAG,EACAN,EACAC,CAAA,EAGF,MAAMM,EAAU,KAAK,4BACnBJ,EACAG,EACAR,EACAI,CAAA,EAGG,KAAA,iBAAiBA,EAAKK,CAAO,KAEjBb,EAAA,kBAAA,CAAE,MAAAS,EAAO,QAAAE,CAAS,CAAA,EAEnC,MAAM,KAAK,0BACTT,EACAC,EACAM,EACAG,EACAC,EACAP,EACAE,CAAA,CACF,CACD,CACH,CAeU,iBACRA,EACAC,EACAE,EACAL,EACAC,EACM,CACFC,EAAA,MAAM,2BAA4B,KAAO,CAC3C,MAAAC,EACA,QAASX,EAAAgB,QAAK,QAAQH,EAAS,CAAE,MAAO,KAAM,EAC9C,eAAAL,EACA,kBAAAC,CACA,EAAA,CACJ,CAQU,iBACRC,EACAK,EAKM,CACFL,EAAA,MACF,6CACAK,EAAQ,eAAe,CAAA,CAE3B,CAQU,uBACRL,EACAO,EACM,CACFP,EAAA,MACF,iEACA,IAAO,OAAA,OACL,cAAe,CACb,GAAGO,EACH,MAAMC,EAAAD,EAAc,OAAd,YAAAC,EAAoB,UAC5B,CAAA,EACF,CAEJ,CAQU,iCACRR,EACAS,EACA,CACAT,EAAI,MAAM,4DAA6D,CACrE,gBAAAS,CAAA,CACD,CACH,CAiBA,MAAgB,0BACdf,EACAC,EACAM,EACAE,EACAE,EAKAP,EACAE,EACe,CACf,MAAMO,EAAgBF,EAAQ,WAAWJ,EAAOE,EAASH,CAAG,EAEvD,KAAA,uBAAuBA,EAAKO,CAAa,EAExC,MAAAG,EAAU,IAAIjB,EAAkB,kBAAA,CACpC,OAAQc,EAAc,OACtB,QAASA,EAAc,QACvB,KAAMA,EAAc,KACpB,cAAeA,EAAc,cAC7B,IAAKA,EAAc,IAAA,CACpB,EAEKL,EAAW,IAAIT,EAAyB,yBAAA,CAC5C,OAAQc,EAAc,OACtB,iBAAkB,CAACI,EAAQC,IAAY,CAC/B,MAAAC,KAAmBrB,0BAAuBoB,CAAO,EACjDE,EAAyC,CAC7C,WAAYH,EACZ,QAASE,CAAA,EAGLE,EAAUH,EAAQ,YAAY,EAEhCG,IACFD,EAAY,QAAU,MAAM,QAAQC,CAAO,EAAIA,EAAU,CAACA,CAAO,EAEjE,OAAOH,EAAQ,YAAY,EAC3B,OAAOC,EAAiB,YAAY,GAGjC,KAAA,iCAAiCb,EAAKc,CAAW,EAEhD,MAAAE,EAAgB,UAAU,mBAAmB,KACjDb,EAAQ,SACRW,CAAA,EAOIG,EAAmBN,GAAU,KAAOA,EAAS,IAC7CO,EAAoBP,IAAW,KAAOA,IAAW,IACjDQ,EAAgBZ,EAAc,SAAW,OAE3C,OAAAU,GAAoBC,GAAqBC,KAC3CH,EAAc,MAAM,EAAE,EAEtBd,EAAS,IAAI,GAGRc,CACT,EACA,IAAAhB,CAAA,CACD,EAESL,EAAA,YAAYD,EAAKgB,EAASR,CAAQ,EAExCF,EAAA,MACF,yEAAA,EAEF,QAAMR,yBAAsBU,CAAQ,EAEhCF,EAAA,MACF,iEAAA,EAEFG,EAAQ,SAAS,KACnB,CAGF"}
1
+ {"version":3,"file":"aws-stream.handler.js","sources":["../../../src/handlers/aws/aws-stream.handler.ts"],"sourcesContent":["//#region Imports\n\nimport { Writable } from 'stream';\nimport util from 'util';\nimport type { APIGatewayProxyEventV2, Context } from 'aws-lambda';\nimport type { APIGatewayProxyStructuredResultV2 } from 'aws-lambda/trigger/api-gateway-proxy';\nimport { BinarySettings } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport {\n BaseHandler,\n ILogger,\n getFlattenedHeadersMap,\n setCurrentInvoke,\n waitForStreamComplete,\n} from '../../core';\nimport { ServerlessRequest, ServerlessStreamResponse } from '../../network';\n\n//#endregion\n\n/**\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport type AWSResponseStream = Writable;\n\n/**\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport type AWSStreamResponseMetadata = Pick<\n APIGatewayProxyStructuredResultV2,\n 'statusCode' | 'headers' | 'cookies'\n>;\n\n/**\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\ndeclare const awslambda: {\n streamifyResponse: (\n handler: (\n event: APIGatewayProxyEventV2,\n response: AWSResponseStream,\n context: Context,\n ) => Promise<void>,\n ) => any;\n HttpResponseStream: {\n from: (\n stream: AWSResponseStream,\n httpResponseMetadata: AWSStreamResponseMetadata,\n ) => AWSResponseStream;\n };\n};\n\n/**\n * The interface that describes the internal context used by the {@link AwsStreamHandler}\n *\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport type AWSStreamContext = {\n /**\n * The response stream provided by the serverless\n */\n response: AWSResponseStream;\n /**\n * The context provided by the serverless\n */\n context: Context;\n};\n\n/**\n * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively\n *\n * @breadcrumb Handlers / AwsStreamHandler\n * @public\n */\nexport class AwsStreamHandler<TApp> extends BaseHandler<\n TApp,\n APIGatewayProxyEventV2,\n AWSStreamContext,\n void,\n AWSStreamResponseMetadata,\n void\n> {\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >[],\n resolverFactory: ResolverContract<\n unknown,\n unknown,\n unknown,\n unknown,\n unknown\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<Promise<void>> {\n return awslambda.streamifyResponse(async (event, response, context) => {\n const streamContext = { response, context };\n\n this.onReceiveRequest(\n log,\n event,\n streamContext,\n binarySettings,\n respondWithErrors,\n );\n\n const adapter = this.getAdapterByEventAndContext(\n event,\n streamContext,\n adapters,\n log,\n );\n\n this.onResolveAdapter(log, adapter);\n\n setCurrentInvoke({ event, context });\n\n await this.forwardRequestToFramework(\n app,\n framework,\n event,\n streamContext,\n adapter,\n binarySettings,\n log,\n );\n });\n }\n\n //#endregion\n\n //#region Hooks\n\n /**\n * The hook executed on receive a request, before the request is being processed\n *\n * @param log - The instance of logger\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param binarySettings - The binary settings\n * @param respondWithErrors - Indicates whether the error stack should be included in the response or not\n */\n protected onReceiveRequest(\n log: ILogger,\n event: APIGatewayProxyEventV2,\n context: AWSStreamContext,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n ): void {\n log.debug('SERVERLESS_ADAPTER:PROXY', () => ({\n event,\n context: util.inspect(context, { depth: null }),\n binarySettings,\n respondWithErrors,\n }));\n }\n\n /**\n * The hook executed after resolve the adapter that will be used to handle the request and response\n *\n * @param log - The instance of logger\n * @param adapter - The adapter resolved\n */\n protected onResolveAdapter(\n log: ILogger,\n adapter: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ',\n adapter.getAdapterName(),\n );\n }\n\n /**\n * The hook executed after resolves the request values that will be sent to the framework\n *\n * @param log - The instance of logger\n * @param requestValues - The request values returned by the adapter\n */\n protected onResolveRequestValues(\n log: ILogger,\n requestValues: AdapterRequest,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES',\n () => ({\n requestValues: {\n ...requestValues,\n body: requestValues.body?.toString(),\n },\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless with response from adapter\n *\n * @param log - The instance of logger\n * @param successResponse - The success response resolved by the adapter\n */\n protected onForwardResponseAdapterResponse(\n log: ILogger,\n successResponse: AWSStreamResponseMetadata,\n ) {\n log.debug('SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE', {\n successResponse,\n });\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * The function to forward the event to the framework\n *\n * @param app - The instance of the app (express, hapi, etc...)\n * @param framework - The framework that will process requests\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param adapter - The adapter resolved to this event\n * @param log - The instance of logger\n * @param binarySettings - The binary settings\n */\n protected async forwardRequestToFramework(\n app: TApp,\n framework: FrameworkContract<TApp>,\n event: APIGatewayProxyEventV2,\n context: AWSStreamContext,\n adapter: AdapterContract<\n APIGatewayProxyEventV2,\n AWSStreamContext,\n AWSStreamResponseMetadata\n >,\n binarySettings: BinarySettings,\n log: ILogger,\n ): Promise<void> {\n const requestValues = adapter.getRequest(event, context, log);\n\n this.onResolveRequestValues(log, requestValues);\n\n const request = new ServerlessRequest({\n method: requestValues.method,\n headers: requestValues.headers,\n body: requestValues.body,\n remoteAddress: requestValues.remoteAddress,\n url: requestValues.path,\n });\n\n const response = new ServerlessStreamResponse({\n method: requestValues.method,\n onReceiveHeaders: (status, headers) => {\n const flattenedHeaders = getFlattenedHeadersMap(headers);\n const awsMetadata: AWSStreamResponseMetadata = {\n statusCode: status,\n headers: flattenedHeaders,\n };\n\n const cookies = headers['set-cookie'];\n\n if (cookies) {\n awsMetadata.cookies = Array.isArray(cookies) ? cookies : [cookies];\n\n delete headers['set-cookie'];\n delete flattenedHeaders['set-cookie'];\n }\n\n this.onForwardResponseAdapterResponse(log, awsMetadata);\n\n const finalResponse = awslambda.HttpResponseStream.from(\n context.response,\n awsMetadata,\n );\n\n // some status do not return body, and\n // for some unknown reason, we cannot finish the stream without writing at least once\n // so I have this thing just to fix this issue\n // ref: https://stackoverflow.com/a/37303151\n const isHundreadStatus = status >= 100 && status < 200;\n const isNoContentStatus = status === 304 || status === 204;\n const isHeadRequest = requestValues.method === 'HEAD';\n\n if (isHundreadStatus || isNoContentStatus || isHeadRequest) {\n finalResponse.write('');\n // end the response to avoid waiting for nothing\n response.end();\n }\n\n return finalResponse;\n },\n log,\n });\n\n framework.sendRequest(app, request, response);\n\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:WAITING_STREAM_COMPLETE',\n );\n await waitForStreamComplete(response);\n\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:STREAM_COMPLETE',\n );\n context.response.end();\n }\n\n //#endregion\n}\n"],"names":["util"],"mappings":"i4BAAA,2BAAA,CAAA,EAAA,SAAA,2BAAA,CAAA,iBAAA,IAAA,gBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,0BAAA,EAGA,IAAiB,YAAA,QAAA,QAAA,MAAA,CAAA,EAiBV,YAAA,QAAA,YAAA,EACqD,eAAA,QAAA,eAAA,EA8DrD,MAAM,yBAA+B,YAO1C,WAAA,CAMO,WACL,IACA,UACA,SAKA,gBAOA,eACA,kBACA,IACkC,CAClC,OAAO,UAAU,kBAAkB,MAAO,MAAO,SAAU,UAAY,CAC/D,MAAA,cAAgB,CAAE,SAAU,SAE7B,KAAA,iBACH,IACA,MACA,cACA,eACA,iBAAA,EAGF,MAAM,QAAU,KAAK,4BACnB,MACA,cACA,SACA,GAAA,EAGG,KAAA,iBAAiB,IAAK,OAAO,KAEjB,YAAA,kBAAA,CAAE,MAAO,OAAS,CAAA,EAEnC,MAAM,KAAK,0BACT,IACA,UACA,MACA,cACA,QACA,eACA,GAAA,CACF,CACD,CACH,CAeU,iBACR,IACA,MACA,QACA,eACA,kBACM,CACF,IAAA,MAAM,2BAA4B,KAAO,CAC3C,MACA,QAAS,YAAAA,QAAK,QAAQ,QAAS,CAAE,MAAO,KAAM,EAC9C,eACA,iBACA,EAAA,CACJ,CAQU,iBACR,IACA,QAKM,CACF,IAAA,MACF,6CACA,QAAQ,eAAe,CAAA,CAE3B,CAQU,uBACR,IACA,cACM,CACF,IAAA,MACF,iEACA,IAAO,QAAA,OACL,cAAe,CACb,GAAG,cACH,MAAM,iBAAc,OAAd,eAAoB,UAC5B,CAAA,EACF,CAEJ,CAQU,iCACR,IACA,gBACA,CACA,IAAI,MAAM,4DAA6D,CACrE,eAAA,CACD,CACH,CAiBA,MAAgB,0BACd,IACA,UACA,MACA,QACA,QAKA,eACA,IACe,CACf,MAAM,cAAgB,QAAQ,WAAW,MAAO,QAAS,GAAG,EAEvD,KAAA,uBAAuB,IAAK,aAAa,EAExC,MAAA,QAAU,IAAI,eAAkB,kBAAA,CACpC,OAAQ,cAAc,OACtB,QAAS,cAAc,QACvB,KAAM,cAAc,KACpB,cAAe,cAAc,cAC7B,IAAK,cAAc,IAAA,CACpB,EAEK,SAAW,IAAI,eAAyB,yBAAA,CAC5C,OAAQ,cAAc,OACtB,iBAAkB,CAAC,OAAQ,UAAY,CAC/B,MAAA,oBAAmB,oCAAuB,OAAO,EACjD,YAAyC,CAC7C,WAAY,OACZ,QAAS,gBAAA,EAGL,QAAU,QAAQ,YAAY,EAEhC,UACF,YAAY,QAAU,MAAM,QAAQ,OAAO,EAAI,QAAU,CAAC,OAAO,EAEjE,OAAO,QAAQ,YAAY,EAC3B,OAAO,iBAAiB,YAAY,GAGjC,KAAA,iCAAiC,IAAK,WAAW,EAEhD,MAAA,cAAgB,UAAU,mBAAmB,KACjD,QAAQ,SACR,WAAA,EAOI,iBAAmB,QAAU,KAAO,OAAS,IAC7C,kBAAoB,SAAW,KAAO,SAAW,IACjD,cAAgB,cAAc,SAAW,OAE3C,OAAA,kBAAoB,mBAAqB,iBAC3C,cAAc,MAAM,EAAE,EAEtB,SAAS,IAAI,GAGR,aACT,EACA,GAAA,CACD,EAES,UAAA,YAAY,IAAK,QAAS,QAAQ,EAExC,IAAA,MACF,yEAAA,EAEF,QAAM,mCAAsB,QAAQ,EAEhC,IAAA,MACF,iEAAA,EAEF,QAAQ,SAAS,KACnB,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './aws-stream.handler';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,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("./aws-stream.handler"),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),aws_exports={};module.exports=__toCommonJS(aws_exports);__reExport(aws_exports,require("./aws-stream.handler"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/handlers/aws/index.ts"],"sourcesContent":["export * from './aws-stream.handler';\n"],"names":["aws_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,sBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/handlers/aws/index.ts"],"sourcesContent":["export * from './aws-stream.handler';\n"],"names":[],"mappings":"kqBAAA,YAAA,CAAA,EAAA,OAAA,QAAA,aAAA,WAAA,EAAA,WAAA,YAAc,QAAd,sBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,45 @@
1
+ import type { Context } from '@azure/functions';
2
+ import { BinarySettings } from '../../@types';
3
+ import { AdapterContract, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
4
+ import { ILogger } from '../../core';
5
+ import { DefaultHandler } from '../default';
6
+ /**
7
+ * The options to customize {@link AzureHandler}
8
+ *
9
+ * @breadcrumb Handlers / AzureHandler
10
+ * @public
11
+ */
12
+ export interface AzureHandlerOptions {
13
+ /**
14
+ * Indicates to use the context log instead console.log when logger is internal (created by the library)
15
+ *
16
+ * @defaultValue true
17
+ */
18
+ useContextLogWhenInternalLogger: boolean;
19
+ }
20
+ /**
21
+ * The class that implements a serverless handler for Azure Function.
22
+ *
23
+ * When you don't specify a custom logger, the {@link Context} logger is used instead.
24
+ *
25
+ * @breadcrumb Handlers / AzureHandler
26
+ * @public
27
+ */
28
+ export declare class AzureHandler<TApp, TEvent, TCallback, TResponse, TReturn> extends DefaultHandler<TApp, TEvent, Context, TCallback, TResponse, TReturn> {
29
+ protected readonly options?: AzureHandlerOptions | undefined;
30
+ /**
31
+ * Default Constructor
32
+ */
33
+ constructor(options?: AzureHandlerOptions | undefined);
34
+ /**
35
+ * {@inheritDoc}
36
+ */
37
+ getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, Context, TResponse>[], resolverFactory: ResolverContract<TEvent, Context, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
38
+ /**
39
+ * Get the {@link ILogger} instance from logger of the context
40
+ *
41
+ * @param context - The Azure Context
42
+ */
43
+ protected createLoggerFromContext(context: Context): ILogger;
44
+ }
45
+ //# sourceMappingURL=azure.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/azure/azure.handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAA2C,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,+BAA+B,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY,CACvB,IAAI,EACJ,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,CACP,SAAQ,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAMhE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IAHvC;;OAEG;gBAC4B,OAAO,CAAC,iCAAqB;IAQ5D;;OAEG;IACI,UAAU,CACf,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EACvD,eAAe,EAAE,gBAAgB,CAC/B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,CACR,EACD,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC;IAkC7B;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAW7D"}
@@ -1,2 +1,2 @@
1
- "use strict";var u=Object.defineProperty,b=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,y=(r,e)=>{for(var o in e)u(r,o,{get:e[o],enumerable:!0})},P=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!O.call(r,t)&&t!==o&&u(r,t,{get:()=>e[t],enumerable:!(n=b(e,t))||n.enumerable});return r},h=r=>P(u({},"__esModule",{value:!0}),r),p={};y(p,{AzureHandler:()=>L});module.exports=h(p);var g=require("../../core"),w=require("../default");class L extends w.DefaultHandler{constructor(e){super(),this.options=e}getHandler(e,o,n,t,i,_,s){return(a,d)=>{var l;const v=(0,g.getDefaultIfUndefined)((l=this.options)==null?void 0:l.useContextLogWhenInternalLogger,!0);(0,g.isInternalLogger)(s)&&v&&(s=this.createLoggerFromContext(a));const f=super.getHandler(e,o,n,t,i,_,s);return delete a.done,delete a.res,f(d,a,void 0)}}createLoggerFromContext(e){return{error:e.log.error,debug:e.log.verbose,verbose:e.log.verbose,info:e.log.info,warn:e.log.warn}}}
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),azure_handler_exports={};__export(azure_handler_exports,{AzureHandler:()=>AzureHandler});module.exports=__toCommonJS(azure_handler_exports);var import_core=require("../../core"),import_default=require("../default");class AzureHandler extends import_default.DefaultHandler{constructor(options){super(),this.options=options}getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log){return(context,event)=>{var _a;const useContextLogWhenInternalLogger=(0,import_core.getDefaultIfUndefined)((_a=this.options)==null?void 0:_a.useContextLogWhenInternalLogger,!0);(0,import_core.isInternalLogger)(log)&&useContextLogWhenInternalLogger&&(log=this.createLoggerFromContext(context));const defaultHandler=super.getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log);return delete context.done,delete context.res,defaultHandler(event,context,void 0)}}createLoggerFromContext(context){return{error:context.log.error,debug:context.log.verbose,verbose:context.log.verbose,info:context.log.info,warn:context.log.warn}}}
2
2
  //# sourceMappingURL=azure.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.handler.js","sources":["../../../src/handlers/azure/azure.handler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\n//#region Imports\n\nimport type { Context } from '@azure/functions';\nimport { BinarySettings } from '../../@types';\nimport {\n AdapterContract,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport { ILogger, getDefaultIfUndefined, isInternalLogger } from '../../core';\nimport { DefaultHandler } from '../default';\n\n//#endregion\n\n/**\n * The options to customize {@link AzureHandler}\n *\n * @breadcrumb Handlers / AzureHandler\n * @public\n */\nexport interface AzureHandlerOptions {\n /**\n * Indicates to use the context log instead console.log when logger is internal (created by the library)\n *\n * @defaultValue true\n */\n useContextLogWhenInternalLogger: boolean;\n}\n\n/**\n * The class that implements a serverless handler for Azure Function.\n *\n * When you don't specify a custom logger, the {@link Context} logger is used instead.\n *\n * @breadcrumb Handlers / AzureHandler\n * @public\n */\nexport class AzureHandler<\n TApp,\n TEvent,\n TCallback,\n TResponse,\n TReturn,\n> extends DefaultHandler<TApp, TEvent, Context, TCallback, TResponse, TReturn> {\n //#region Constructor\n\n /**\n * Default Constructor\n */\n constructor(protected readonly options?: AzureHandlerOptions) {\n super();\n }\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, Context, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n Context,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n return (context: Context, event: TEvent) => {\n const useContextLogWhenInternalLogger = getDefaultIfUndefined(\n this.options?.useContextLogWhenInternalLogger,\n true,\n );\n\n if (isInternalLogger(log) && useContextLogWhenInternalLogger)\n log = this.createLoggerFromContext(context);\n\n const defaultHandler = super.getHandler(\n app,\n framework,\n adapters,\n resolverFactory,\n binarySettings,\n respondWithErrors,\n log,\n );\n\n // remove this from context\n // because user can mess it-up the things\n // @ts-ignore\n delete context.done;\n delete context.res;\n\n return defaultHandler(event, context, undefined);\n };\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get the {@link ILogger} instance from logger of the context\n *\n * @param context - The Azure Context\n */\n protected createLoggerFromContext(context: Context): ILogger {\n return {\n error: context.log.error,\n debug: context.log.verbose,\n verbose: context.log.verbose,\n info: context.log.info,\n warn: context.log.warn,\n };\n }\n\n //#endregion\n}\n"],"names":["azure_handler_exports","__export","AzureHandler","__toCommonJS","import_core","import_default","options","app","framework","adapters","resolverFactory","binarySettings","respondWithErrors","log","context","event","useContextLogWhenInternalLogger","_a","defaultHandler"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,aAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAWA,IAAiEI,EAAA,QAAA,YAAA,EAClCC,EAAA,QAAA,YAAA,EA2BxB,MAAMH,UAMHG,EAAqE,cAAA,CAM7E,YAA+BC,EAA+B,CACtD,QADuB,KAAA,QAAAA,CAE/B,CASO,WACLC,EACAC,EACAC,EACAC,EAOAC,EACAC,EACAC,EAC4B,CACrB,MAAA,CAACC,EAAkBC,IAAkB,OAC1C,MAAMC,KAAkCZ,EAAA,wBACtCa,EAAA,KAAK,UAAL,YAAAA,EAAc,gCACd,EAAA,KAGEb,EAAA,kBAAiBS,CAAG,GAAKG,IACrBH,EAAA,KAAK,wBAAwBC,CAAO,GAE5C,MAAMI,EAAiB,MAAM,WAC3BX,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAAA,EAMF,cAAOC,EAAQ,KACf,OAAOA,EAAQ,IAERI,EAAeH,EAAOD,EAAS,MAAS,CAAA,CAEnD,CAWU,wBAAwBA,EAA2B,CACpD,MAAA,CACL,MAAOA,EAAQ,IAAI,MACnB,MAAOA,EAAQ,IAAI,QACnB,QAASA,EAAQ,IAAI,QACrB,KAAMA,EAAQ,IAAI,KAClB,KAAMA,EAAQ,IAAI,IAAA,CAEtB,CAGF"}
1
+ {"version":3,"file":"azure.handler.js","sources":["../../../src/handlers/azure/azure.handler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\n//#region Imports\n\nimport type { Context } from '@azure/functions';\nimport { BinarySettings } from '../../@types';\nimport {\n AdapterContract,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport { ILogger, getDefaultIfUndefined, isInternalLogger } from '../../core';\nimport { DefaultHandler } from '../default';\n\n//#endregion\n\n/**\n * The options to customize {@link AzureHandler}\n *\n * @breadcrumb Handlers / AzureHandler\n * @public\n */\nexport interface AzureHandlerOptions {\n /**\n * Indicates to use the context log instead console.log when logger is internal (created by the library)\n *\n * @defaultValue true\n */\n useContextLogWhenInternalLogger: boolean;\n}\n\n/**\n * The class that implements a serverless handler for Azure Function.\n *\n * When you don't specify a custom logger, the {@link Context} logger is used instead.\n *\n * @breadcrumb Handlers / AzureHandler\n * @public\n */\nexport class AzureHandler<\n TApp,\n TEvent,\n TCallback,\n TResponse,\n TReturn,\n> extends DefaultHandler<TApp, TEvent, Context, TCallback, TResponse, TReturn> {\n //#region Constructor\n\n /**\n * Default Constructor\n */\n constructor(protected readonly options?: AzureHandlerOptions) {\n super();\n }\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, Context, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n Context,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n return (context: Context, event: TEvent) => {\n const useContextLogWhenInternalLogger = getDefaultIfUndefined(\n this.options?.useContextLogWhenInternalLogger,\n true,\n );\n\n if (isInternalLogger(log) && useContextLogWhenInternalLogger)\n log = this.createLoggerFromContext(context);\n\n const defaultHandler = super.getHandler(\n app,\n framework,\n adapters,\n resolverFactory,\n binarySettings,\n respondWithErrors,\n log,\n );\n\n // remove this from context\n // because user can mess it-up the things\n // @ts-ignore\n delete context.done;\n delete context.res;\n\n return defaultHandler(event, context, undefined);\n };\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get the {@link ILogger} instance from logger of the context\n *\n * @param context - The Azure Context\n */\n protected createLoggerFromContext(context: Context): ILogger {\n return {\n error: context.log.error,\n debug: context.log.verbose,\n verbose: context.log.verbose,\n info: context.log.info,\n warn: context.log.warn,\n };\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,sBAAA,CAAA,EAAA,SAAA,sBAAA,CAAA,aAAA,IAAA,YAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAWA,IAAiE,YAAA,QAAA,YAAA,EAClC,eAAA,QAAA,YAAA,EA2BxB,MAAM,qBAMH,eAAqE,cAAA,CAM7E,YAA+B,QAA+B,CACtD,QADuB,KAAA,QAAA,OAE/B,CASO,WACL,IACA,UACA,SACA,gBAOA,eACA,kBACA,IAC4B,CACrB,MAAA,CAAC,QAAkB,QAAkB,QAC1C,MAAM,mCAAkC,YAAA,wBACtC,QAAK,UAAL,eAAc,gCACd,EAAA,KAGE,YAAA,kBAAiB,GAAG,GAAK,kCACrB,IAAA,KAAK,wBAAwB,OAAO,GAE5C,MAAM,eAAiB,MAAM,WAC3B,IACA,UACA,SACA,gBACA,eACA,kBACA,GAAA,EAMF,cAAO,QAAQ,KACf,OAAO,QAAQ,IAER,eAAe,MAAO,QAAS,MAAS,CAAA,CAEnD,CAWU,wBAAwB,QAA2B,CACpD,MAAA,CACL,MAAO,QAAQ,IAAI,MACnB,MAAO,QAAQ,IAAI,QACnB,QAAS,QAAQ,IAAI,QACrB,KAAM,QAAQ,IAAI,KAClB,KAAM,QAAQ,IAAI,IAAA,CAEtB,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './azure.handler';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/azure/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!O.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=u(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("./azure.handler"),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),azure_exports={};module.exports=__toCommonJS(azure_exports);__reExport(azure_exports,require("./azure.handler"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/handlers/azure/index.ts"],"sourcesContent":["export * from './azure.handler';\n"],"names":["azure_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/handlers/azure/index.ts"],"sourcesContent":["export * from './azure.handler';\n"],"names":[],"mappings":"kqBAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAAA,WAAA,cAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './raw-request';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,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("./raw-request"),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),base_exports={};module.exports=__toCommonJS(base_exports);__reExport(base_exports,require("./raw-request"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/handlers/base/index.ts"],"sourcesContent":["export * from './raw-request';\n"],"names":["base_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,eAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/handlers/base/index.ts"],"sourcesContent":["export * from './raw-request';\n"],"names":[],"mappings":"kqBAAA,aAAA,CAAA,EAAA,OAAA,QAAA,aAAA,YAAA,EAAA,WAAA,aAAc,QAAd,eAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,31 @@
1
+ /// <reference types="node" />
2
+ import { IncomingMessage, ServerResponse } from 'http';
3
+ import { FrameworkContract } from '../../contracts/index';
4
+ import { ServerlessRequest } from '../../network/index';
5
+ /**
6
+ * The class that expose some methods to be used to get raw request from Express HTTP Request
7
+ *
8
+ * @breadcrumb Handlers / Base / RawRequest
9
+ * @public
10
+ */
11
+ export declare abstract class RawRequest<TApp> {
12
+ /**
13
+ * The callback to when receive some request from external source
14
+ *
15
+ * @param app - The instance of the app
16
+ * @param framework - The framework for the app
17
+ */
18
+ protected onRequestCallback(app: TApp, framework: FrameworkContract<TApp>): (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
19
+ /**
20
+ * Not sure why they think using Express instance with prebuilt middlewares was a good idea, but Firebase/GCP
21
+ * decides to use `Express` and `body-parser` by default, so you don't get a raw request, instead, you get a modified version by
22
+ * Express and also with the body parsed by `body-parser`.
23
+ * If you use NestJS or Express it's awesome, but for the rest of the frameworks it's terrible!
24
+ * That's why I have this method, just to try and create a raw request to be used and passed to the frameworks so they can handle the request
25
+ * as if they received the request from the native http module.
26
+ *
27
+ * @param request - The Express request
28
+ */
29
+ protected getRequestFromExpressRequest(request: IncomingMessage): ServerlessRequest;
30
+ }
31
+ //# sourceMappingURL=raw-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-request.d.ts","sourceRoot":"","sources":["../../../src/handlers/base/raw-request.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKxD;;;;;GAKG;AACH,8BAAsB,UAAU,CAAC,IAAI;IAGnC;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,GACjC,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE;;;;;;;;;OASG;IACH,SAAS,CAAC,4BAA4B,CACpC,OAAO,EAAE,eAAe,GACvB,iBAAiB;CAmCrB"}
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,b=(o,e)=>{for(var t in e)a(o,t,{get:e[t],enumerable:!0})},f=(o,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of i(e))!l.call(o,r)&&r!==t&&a(o,r,{get:()=>e[r],enumerable:!(s=y(e,r))||s.enumerable});return o},g=o=>f(a({},"__esModule",{value:!0}),o),p={};b(p,{RawRequest:()=>R});module.exports=g(p);var v=require("../../network/index"),u=require("../../core/index");class R{onRequestCallback(e,t){return(s,r)=>{const n=this.getRequestFromExpressRequest(s);return t.sendRequest(e,n,r)}}getRequestFromExpressRequest(e){const t=e,s=(0,u.getFlattenedHeadersMap)(e.headers,",",!0),r=s["x-forwarded-for"];let n;if(t.body&&typeof t.body=="object"){const c=JSON.stringify(t.body),[d,_]=(0,u.getEventBodyAsBuffer)(c,!1);n=d,s["content-length"]=String(_)}return new v.ServerlessRequest({method:e.method,url:e.url,body:n,headers:s,remoteAddress:r})}}
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),raw_request_exports={};__export(raw_request_exports,{RawRequest:()=>RawRequest});module.exports=__toCommonJS(raw_request_exports);var import_network=require("../../network/index"),import_core=require("../../core/index");class RawRequest{onRequestCallback(app,framework){return(request,response)=>{const customRequest=this.getRequestFromExpressRequest(request);return framework.sendRequest(app,customRequest,response)}}getRequestFromExpressRequest(request){const expressRequestParsed=request,headers=(0,import_core.getFlattenedHeadersMap)(request.headers,",",!0),remoteAddress=headers["x-forwarded-for"];let body;if(expressRequestParsed.body&&typeof expressRequestParsed.body=="object"){const jsonContent=JSON.stringify(expressRequestParsed.body),[bufferBody,contentLength]=(0,import_core.getEventBodyAsBuffer)(jsonContent,!1);body=bufferBody,headers["content-length"]=String(contentLength)}return new import_network.ServerlessRequest({method:request.method,url:request.url,body,headers,remoteAddress})}}
2
2
  //# sourceMappingURL=raw-request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"raw-request.js","sources":["../../../src/handlers/base/raw-request.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { FrameworkContract } from '../../contracts/index';\nimport { ServerlessRequest } from '../../network/index';\nimport { getEventBodyAsBuffer, getFlattenedHeadersMap } from '../../core/index';\n\n//#endregion\n\n/**\n * The class that expose some methods to be used to get raw request from Express HTTP Request\n *\n * @breadcrumb Handlers / Base / RawRequest\n * @public\n */\nexport abstract class RawRequest<TApp> {\n //#region Protected Methods\n\n /**\n * The callback to when receive some request from external source\n *\n * @param app - The instance of the app\n * @param framework - The framework for the app\n */\n protected onRequestCallback(\n app: TApp,\n framework: FrameworkContract<TApp>,\n ): (req: IncomingMessage, res: ServerResponse) => void | Promise<void> {\n return (request: IncomingMessage, response: ServerResponse) => {\n const customRequest = this.getRequestFromExpressRequest(request);\n\n return framework.sendRequest(app, customRequest, response);\n };\n }\n\n /**\n * Not sure why they think using Express instance with prebuilt middlewares was a good idea, but Firebase/GCP\n * decides to use `Express` and `body-parser` by default, so you don't get a raw request, instead, you get a modified version by\n * Express and also with the body parsed by `body-parser`.\n * If you use NestJS or Express it's awesome, but for the rest of the frameworks it's terrible!\n * That's why I have this method, just to try and create a raw request to be used and passed to the frameworks so they can handle the request\n * as if they received the request from the native http module.\n *\n * @param request - The Express request\n */\n protected getRequestFromExpressRequest(\n request: IncomingMessage,\n ): ServerlessRequest {\n const expressRequestParsed = request as unknown as {\n body: object | Buffer;\n };\n\n const headers = getFlattenedHeadersMap(request.headers, ',', true);\n const remoteAddress = headers['x-forwarded-for'];\n\n let body: Buffer | undefined;\n\n if (\n expressRequestParsed.body &&\n typeof expressRequestParsed.body === 'object'\n ) {\n const jsonContent = JSON.stringify(expressRequestParsed.body);\n\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n jsonContent,\n false,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n return new ServerlessRequest({\n method: request.method!,\n url: request.url!,\n body,\n headers,\n remoteAddress,\n });\n }\n\n //#endregion\n}\n"],"names":["raw_request_exports","__export","RawRequest","__toCommonJS","import_network","import_core","app","framework","request","response","customRequest","expressRequestParsed","headers","remoteAddress","body","jsonContent","bufferBody","contentLength"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,WAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAIA,IAAkCI,EAAA,QAAA,qBAAA,EAC2BC,EAAA,QAAA,kBAAA,EAUtD,MAAeH,CAAiB,CAS3B,kBACRI,EACAC,EACqE,CAC9D,MAAA,CAACC,EAA0BC,IAA6B,CACvD,MAAAC,EAAgB,KAAK,6BAA6BF,CAAO,EAE/D,OAAOD,EAAU,YAAYD,EAAKI,EAAeD,CAAQ,CAAA,CAE7D,CAYU,6BACRD,EACmB,CACnB,MAAMG,EAAuBH,EAIvBI,KAAUP,EAAA,wBAAuBG,EAAQ,QAAS,IAAK,EAAI,EAC3DK,EAAgBD,EAAQ,iBAAiB,EAE3C,IAAAE,EAEJ,GACEH,EAAqB,MACrB,OAAOA,EAAqB,MAAS,SACrC,CACA,MAAMI,EAAc,KAAK,UAAUJ,EAAqB,IAAI,EAEtD,CAACK,EAAYC,CAAa,KAAIZ,EAAA,sBAClCU,EACA,EAAA,EAGKD,EAAAE,EACCJ,EAAA,gBAAgB,EAAI,OAAOK,CAAa,EAGlD,OAAO,IAAIb,EAAkB,kBAAA,CAC3B,OAAQI,EAAQ,OAChB,IAAKA,EAAQ,IACb,KAAAM,EACA,QAAAF,EACA,cAAAC,CAAA,CACD,CACH,CAGF"}
1
+ {"version":3,"file":"raw-request.js","sources":["../../../src/handlers/base/raw-request.ts"],"sourcesContent":["//#region Imports\n\nimport { IncomingMessage, ServerResponse } from 'http';\nimport { FrameworkContract } from '../../contracts/index';\nimport { ServerlessRequest } from '../../network/index';\nimport { getEventBodyAsBuffer, getFlattenedHeadersMap } from '../../core/index';\n\n//#endregion\n\n/**\n * The class that expose some methods to be used to get raw request from Express HTTP Request\n *\n * @breadcrumb Handlers / Base / RawRequest\n * @public\n */\nexport abstract class RawRequest<TApp> {\n //#region Protected Methods\n\n /**\n * The callback to when receive some request from external source\n *\n * @param app - The instance of the app\n * @param framework - The framework for the app\n */\n protected onRequestCallback(\n app: TApp,\n framework: FrameworkContract<TApp>,\n ): (req: IncomingMessage, res: ServerResponse) => void | Promise<void> {\n return (request: IncomingMessage, response: ServerResponse) => {\n const customRequest = this.getRequestFromExpressRequest(request);\n\n return framework.sendRequest(app, customRequest, response);\n };\n }\n\n /**\n * Not sure why they think using Express instance with prebuilt middlewares was a good idea, but Firebase/GCP\n * decides to use `Express` and `body-parser` by default, so you don't get a raw request, instead, you get a modified version by\n * Express and also with the body parsed by `body-parser`.\n * If you use NestJS or Express it's awesome, but for the rest of the frameworks it's terrible!\n * That's why I have this method, just to try and create a raw request to be used and passed to the frameworks so they can handle the request\n * as if they received the request from the native http module.\n *\n * @param request - The Express request\n */\n protected getRequestFromExpressRequest(\n request: IncomingMessage,\n ): ServerlessRequest {\n const expressRequestParsed = request as unknown as {\n body: object | Buffer;\n };\n\n const headers = getFlattenedHeadersMap(request.headers, ',', true);\n const remoteAddress = headers['x-forwarded-for'];\n\n let body: Buffer | undefined;\n\n if (\n expressRequestParsed.body &&\n typeof expressRequestParsed.body === 'object'\n ) {\n const jsonContent = JSON.stringify(expressRequestParsed.body);\n\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n jsonContent,\n false,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n return new ServerlessRequest({\n method: request.method!,\n url: request.url!,\n body,\n headers,\n remoteAddress,\n });\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,oBAAA,CAAA,EAAA,SAAA,oBAAA,CAAA,WAAA,IAAA,UAAA,CAAA,EAAA,OAAA,QAAA,aAAA,mBAAA,EAIA,IAAkC,eAAA,QAAA,qBAAA,EAC2B,YAAA,QAAA,kBAAA,EAUtD,MAAe,UAAiB,CAS3B,kBACR,IACA,UACqE,CAC9D,MAAA,CAAC,QAA0B,WAA6B,CACvD,MAAA,cAAgB,KAAK,6BAA6B,OAAO,EAE/D,OAAO,UAAU,YAAY,IAAK,cAAe,QAAQ,CAAA,CAE7D,CAYU,6BACR,QACmB,CACnB,MAAM,qBAAuB,QAIvB,WAAU,YAAA,wBAAuB,QAAQ,QAAS,IAAK,EAAI,EAC3D,cAAgB,QAAQ,iBAAiB,EAE3C,IAAA,KAEJ,GACE,qBAAqB,MACrB,OAAO,qBAAqB,MAAS,SACrC,CACA,MAAM,YAAc,KAAK,UAAU,qBAAqB,IAAI,EAEtD,CAAC,WAAY,aAAa,KAAI,YAAA,sBAClC,YACA,EAAA,EAGK,KAAA,WACC,QAAA,gBAAgB,EAAI,OAAO,aAAa,CAClD,CAEA,OAAO,IAAI,eAAkB,kBAAA,CAC3B,OAAQ,QAAQ,OAChB,IAAK,QAAQ,IACb,KACA,QACA,aAAA,CACD,CACH,CAGF"}
@@ -0,0 +1,88 @@
1
+ import { BinarySettings, SingleValueHeaders } from '../../@types';
2
+ import { AdapterContract, AdapterRequest, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
3
+ import { BaseHandler, ILogger } from '../../core';
4
+ import { ServerlessResponse } from '../../network';
5
+ /**
6
+ * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively
7
+ *
8
+ * @breadcrumb Handlers / DefaultHandler
9
+ * @public
10
+ */
11
+ export declare class DefaultHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> extends BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {
12
+ /**
13
+ * {@inheritDoc}
14
+ */
15
+ getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, TContext, TResponse>[], resolverFactory: ResolverContract<TEvent, TContext, TCallback, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
16
+ /**
17
+ * The hook executed on receive a request, before the request is being processed
18
+ *
19
+ * @param log - The instance of logger
20
+ * @param event - The event sent by serverless
21
+ * @param context - The context sent by serverless
22
+ * @param binarySettings - The binary settings
23
+ * @param respondWithErrors - Indicates whether the error stack should be included in the response or not
24
+ */
25
+ protected onReceiveRequest(log: ILogger, event: TEvent, context: TContext, binarySettings: BinarySettings, respondWithErrors: boolean): void;
26
+ /**
27
+ * The hook executed after resolve the adapter that will be used to handle the request and response
28
+ *
29
+ * @param log - The instance of logger
30
+ * @param adapter - The adapter resolved
31
+ */
32
+ protected onResolveAdapter(log: ILogger, adapter: AdapterContract<TEvent, TContext, TResponse>): void;
33
+ /**
34
+ * The hook executed after resolves the request values that will be sent to the framework
35
+ *
36
+ * @param log - The instance of logger
37
+ * @param requestValues - The request values returned by the adapter
38
+ */
39
+ protected onResolveRequestValues(log: ILogger, requestValues: AdapterRequest): void;
40
+ /**
41
+ * The hook executed after handling the response sent by the framework
42
+ *
43
+ * @param log - The instance of logger
44
+ * @param response - The response sent by the framework
45
+ */
46
+ protected onResolveForwardedResponseToFramework(log: ILogger, response: ServerlessResponse): void;
47
+ /**
48
+ * The hook executed before sending response to the serverless
49
+ *
50
+ * @param log - The instance of logger
51
+ * @param statusCode - The status code of the response
52
+ * @param body - The body of the response
53
+ * @param headers - The headers of the response
54
+ * @param isBase64Encoded - Indicates whether the response was encoded as binary or not
55
+ */
56
+ protected onForwardResponse(log: ILogger, statusCode: number, body: string, headers: SingleValueHeaders, isBase64Encoded: boolean): void;
57
+ /**
58
+ * The hook executed before sending response to the serverless with response from adapter
59
+ *
60
+ * @param log - The instance of logger
61
+ * @param successResponse - The success response resolved by the adapter
62
+ * @param body - The body of the response sent by the framework
63
+ */
64
+ protected onForwardResponseAdapterResponse(log: ILogger, successResponse: TResponse, body: string): void;
65
+ /**
66
+ * The function to forward the event to the framework
67
+ *
68
+ * @param app - The instance of the app (express, hapi, etc...)
69
+ * @param framework - The framework that will process requests
70
+ * @param event - The event sent by serverless
71
+ * @param context - The context sent by serverless
72
+ * @param adapter - The adapter resolved to this event
73
+ * @param log - The instance of logger
74
+ * @param binarySettings - The binary settings
75
+ */
76
+ protected forwardRequestToFramework(app: TApp, framework: FrameworkContract<TApp>, event: TEvent, context: TContext, adapter: AdapterContract<TEvent, TContext, TResponse>, binarySettings: BinarySettings, log: ILogger): Promise<TResponse>;
77
+ /**
78
+ * The function to forward the response back to the serverless
79
+ *
80
+ * @param event - The event sent by serverless
81
+ * @param response - The response of the framework
82
+ * @param adapter - The adapter resolved to this event
83
+ * @param binarySettings - The binary settings
84
+ * @param log - The instance of logger
85
+ */
86
+ protected forwardResponse(event: TEvent, response: ServerlessResponse, adapter: AdapterContract<TEvent, TContext, TResponse>, binarySettings: BinarySettings, log: ILogger): TResponse;
87
+ }
88
+ //# sourceMappingURL=default.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/default/default.handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClE,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;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD;;;;;GAKG;AACH,qBAAa,cAAc,CACzB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,CACP,SAAQ,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAG1E;;OAEG;IACI,UAAU,CACf,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACxD,eAAe,EAAE,gBAAgB,CAC/B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,EACT,OAAO,CACR,EACD,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC;IAgD7B;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CACxB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,GACzB,IAAI;IASP;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CACxB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,IAAI;IAOP;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAC9B,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,cAAc,GAC5B,IAAI;IAYP;;;;;OAKG;IACH,SAAS,CAAC,qCAAqC,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,kBAAkB,GAC3B,IAAI;IASP;;;;;;;;OAQG;IACH,SAAS,CAAC,iBAAiB,CACzB,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,OAAO;IAa1B;;;;;;OAMG;IACH,SAAS,CAAC,gCAAgC,CACxC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,SAAS,EAC1B,IAAI,EAAE,MAAM;IAed;;;;;;;;;;OAUG;cACa,yBAAyB,CACvC,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,EACrD,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,SAAS,CAAC;IAiBrB;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,EACrD,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,OAAO,GACX,SAAS;CA0Bb"}
@@ -1,2 +1,2 @@
1
- "use strict";var v=Object.create,S=Object.defineProperty,P=Object.getOwnPropertyDescriptor,w=Object.getOwnPropertyNames,b=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,D=(t,r)=>{for(var e in r)S(t,e,{get:r[e],enumerable:!0})},A=(t,r,e,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of w(r))!f.call(t,o)&&o!==e&&S(t,o,{get:()=>r[o],enumerable:!(s=P(r,o))||s.enumerable});return t},F=(t,r,e)=>(e=t!=null?v(b(t)):{},A(r||!t||!t.__esModule?S(e,"default",{value:t,enumerable:!0}):e,t)),T=t=>A(S({},"__esModule",{value:!0}),t),O={};D(O,{DefaultHandler:()=>h});module.exports=T(O);var c=F(require("util")),p=require("../../core"),i=require("../../network");class h extends p.BaseHandler{getHandler(r,e,s,o,a,_,R){return(n,u,E)=>{this.onReceiveRequest(R,n,u,a,_);const d=this.getAdapterByEventAndContext(n,u,s,R);return this.onResolveAdapter(R,d),(0,p.setCurrentInvoke)({event:n,context:u}),o.createResolver({event:n,context:u,callback:E,log:R,respondWithErrors:_,adapter:d}).run(()=>this.forwardRequestToFramework(r,e,n,u,d,a,R))}}onReceiveRequest(r,e,s,o,a){r.debug("SERVERLESS_ADAPTER:PROXY",()=>({event:c.default.inspect(e,{depth:null}),context:c.default.inspect(s,{depth:null}),binarySettings:o,respondWithErrors:a}))}onResolveAdapter(r,e){r.debug("SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ",e.getAdapterName())}onResolveRequestValues(r,e){r.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES",()=>{var s;return{requestValues:{...e,body:(s=e.body)==null?void 0:s.toString()}}})}onResolveForwardedResponseToFramework(r,e){r.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE",()=>({response:e}))}onForwardResponse(r,e,s,o,a){r.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS",()=>({statusCode:e,body:s,headers:o,isBase64Encoded:a}))}onForwardResponseAdapterResponse(r,e,s){r.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE",()=>({successResponse:c.default.inspect(e,{depth:null}),body:s}))}async forwardRequestToFramework(r,e,s,o,a,_,R){const n=a.getRequest(s,o,R);this.onResolveRequestValues(R,n);const[u,E]=this.getServerlessRequestResponseFromAdapterRequest(n);return e.sendRequest(r,u,E),await(0,p.waitForStreamComplete)(E),this.onResolveForwardedResponseToFramework(R,E),this.forwardResponse(s,E,a,_,R)}forwardResponse(r,e,s,o,a){const _=e.statusCode,R=i.ServerlessResponse.headers(e),n=(0,p.isBinary)(R,o),u=n?"base64":"utf8",E=i.ServerlessResponse.body(e).toString(u),d=n?"[BASE64_ENCODED]":E;this.onForwardResponse(a,_,d,R,n);const l=s.getResponse({event:r,statusCode:_,body:E,headers:R,isBase64Encoded:n,response:e,log:a});return this.onForwardResponseAdapterResponse(a,l,d),l}}
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),default_handler_exports={};__export(default_handler_exports,{DefaultHandler:()=>DefaultHandler});module.exports=__toCommonJS(default_handler_exports);var import_util=__toESM(require("util")),import_core=require("../../core"),import_network=require("../../network");class DefaultHandler extends import_core.BaseHandler{getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log){return(event,context,callback)=>{this.onReceiveRequest(log,event,context,binarySettings,respondWithErrors);const adapter=this.getAdapterByEventAndContext(event,context,adapters,log);return this.onResolveAdapter(log,adapter),(0,import_core.setCurrentInvoke)({event,context}),resolverFactory.createResolver({event,context,callback,log,respondWithErrors,adapter}).run(()=>this.forwardRequestToFramework(app,framework,event,context,adapter,binarySettings,log))}}onReceiveRequest(log,event,context,binarySettings,respondWithErrors){log.debug("SERVERLESS_ADAPTER:PROXY",()=>({event:import_util.default.inspect(event,{depth:null}),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()}}})}onResolveForwardedResponseToFramework(log,response){log.debug("SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE",()=>({response}))}onForwardResponse(log,statusCode,body,headers,isBase64Encoded){log.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS",()=>({statusCode,body,headers,isBase64Encoded}))}onForwardResponseAdapterResponse(log,successResponse,body){log.debug("SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE",()=>({successResponse:import_util.default.inspect(successResponse,{depth:null}),body}))}async forwardRequestToFramework(app,framework,event,context,adapter,binarySettings,log){const requestValues=adapter.getRequest(event,context,log);this.onResolveRequestValues(log,requestValues);const[request,response]=this.getServerlessRequestResponseFromAdapterRequest(requestValues);return framework.sendRequest(app,request,response),await(0,import_core.waitForStreamComplete)(response),this.onResolveForwardedResponseToFramework(log,response),this.forwardResponse(event,response,adapter,binarySettings,log)}forwardResponse(event,response,adapter,binarySettings,log){const statusCode=response.statusCode,headers=import_network.ServerlessResponse.headers(response),isBase64Encoded=(0,import_core.isBinary)(headers,binarySettings),encoding=isBase64Encoded?"base64":"utf8",body=import_network.ServerlessResponse.body(response).toString(encoding),logBody=isBase64Encoded?"[BASE64_ENCODED]":body;this.onForwardResponse(log,statusCode,logBody,headers,isBase64Encoded);const successResponse=adapter.getResponse({event,statusCode,body,headers,isBase64Encoded,response,log});return this.onForwardResponseAdapterResponse(log,successResponse,logBody),successResponse}}
2
2
  //# sourceMappingURL=default.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.handler.js","sources":["../../../src/handlers/default/default.handler.ts"],"sourcesContent":["//#region Imports\n\nimport util from 'util';\nimport { BinarySettings, SingleValueHeaders } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport {\n BaseHandler,\n ILogger,\n isBinary,\n setCurrentInvoke,\n waitForStreamComplete,\n} from '../../core';\nimport { ServerlessResponse } from '../../network';\n\n//#endregion\n\n/**\n * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively\n *\n * @breadcrumb Handlers / DefaultHandler\n * @public\n */\nexport class DefaultHandler<\n TApp,\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn,\n> extends BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, TContext, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n return (event: TEvent, context: TContext, callback?: TCallback) => {\n this.onReceiveRequest(\n log,\n event,\n context,\n binarySettings,\n respondWithErrors,\n );\n\n const adapter = this.getAdapterByEventAndContext(\n event,\n context,\n adapters,\n log,\n );\n\n this.onResolveAdapter(log, adapter);\n\n setCurrentInvoke({ event, context });\n\n const resolver = resolverFactory.createResolver({\n event,\n context,\n callback,\n log,\n respondWithErrors,\n adapter,\n });\n\n return resolver.run(() =>\n this.forwardRequestToFramework(\n app,\n framework,\n event,\n context,\n adapter,\n binarySettings,\n log,\n ),\n );\n };\n }\n\n //#endregion\n\n //#region Hooks\n\n /**\n * The hook executed on receive a request, before the request is being processed\n *\n * @param log - The instance of logger\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param binarySettings - The binary settings\n * @param respondWithErrors - Indicates whether the error stack should be included in the response or not\n */\n protected onReceiveRequest(\n log: ILogger,\n event: TEvent,\n context: TContext,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n ): void {\n log.debug('SERVERLESS_ADAPTER:PROXY', () => ({\n event: util.inspect(event, { depth: null }),\n context: util.inspect(context, { depth: null }),\n binarySettings,\n respondWithErrors,\n }));\n }\n\n /**\n * The hook executed after resolve the adapter that will be used to handle the request and response\n *\n * @param log - The instance of logger\n * @param adapter - The adapter resolved\n */\n protected onResolveAdapter(\n log: ILogger,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ',\n adapter.getAdapterName(),\n );\n }\n\n /**\n * The hook executed after resolves the request values that will be sent to the framework\n *\n * @param log - The instance of logger\n * @param requestValues - The request values returned by the adapter\n */\n protected onResolveRequestValues(\n log: ILogger,\n requestValues: AdapterRequest,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES',\n () => ({\n requestValues: {\n ...requestValues,\n body: requestValues.body?.toString(),\n },\n }),\n );\n }\n\n /**\n * The hook executed after handling the response sent by the framework\n *\n * @param log - The instance of logger\n * @param response - The response sent by the framework\n */\n protected onResolveForwardedResponseToFramework(\n log: ILogger,\n response: ServerlessResponse,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE',\n () => ({\n response,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless\n *\n * @param log - The instance of logger\n * @param statusCode - The status code of the response\n * @param body - The body of the response\n * @param headers - The headers of the response\n * @param isBase64Encoded - Indicates whether the response was encoded as binary or not\n */\n protected onForwardResponse(\n log: ILogger,\n statusCode: number,\n body: string,\n headers: SingleValueHeaders,\n isBase64Encoded: boolean,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS',\n () => ({\n statusCode,\n body,\n headers,\n isBase64Encoded,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless with response from adapter\n *\n * @param log - The instance of logger\n * @param successResponse - The success response resolved by the adapter\n * @param body - The body of the response sent by the framework\n */\n protected onForwardResponseAdapterResponse(\n log: ILogger,\n successResponse: TResponse,\n body: string,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE',\n () => ({\n successResponse: util.inspect(successResponse, { depth: null }),\n body,\n }),\n );\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * The function to forward the event to the framework\n *\n * @param app - The instance of the app (express, hapi, etc...)\n * @param framework - The framework that will process requests\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param adapter - The adapter resolved to this event\n * @param log - The instance of logger\n * @param binarySettings - The binary settings\n */\n protected async forwardRequestToFramework(\n app: TApp,\n framework: FrameworkContract<TApp>,\n event: TEvent,\n context: TContext,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): Promise<TResponse> {\n const requestValues = adapter.getRequest(event, context, log);\n\n this.onResolveRequestValues(log, requestValues);\n\n const [request, response] =\n this.getServerlessRequestResponseFromAdapterRequest(requestValues);\n\n framework.sendRequest(app, request, response);\n\n await waitForStreamComplete(response);\n\n this.onResolveForwardedResponseToFramework(log, response);\n\n return this.forwardResponse(event, response, adapter, binarySettings, log);\n }\n\n /**\n * The function to forward the response back to the serverless\n *\n * @param event - The event sent by serverless\n * @param response - The response of the framework\n * @param adapter - The adapter resolved to this event\n * @param binarySettings - The binary settings\n * @param log - The instance of logger\n */\n protected forwardResponse(\n event: TEvent,\n response: ServerlessResponse,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): TResponse {\n const statusCode = response.statusCode;\n const headers = ServerlessResponse.headers(response);\n const isBase64Encoded = isBinary(headers, binarySettings);\n const encoding = isBase64Encoded ? 'base64' : 'utf8';\n const body = ServerlessResponse.body(response).toString(encoding);\n const logBody = isBase64Encoded ? '[BASE64_ENCODED]' : body;\n\n this.onForwardResponse(log, statusCode, logBody, headers, isBase64Encoded);\n\n const successResponse = adapter.getResponse({\n event,\n statusCode,\n body,\n headers,\n isBase64Encoded,\n response,\n log,\n });\n\n this.onForwardResponseAdapterResponse(log, successResponse, logBody);\n\n return successResponse;\n }\n\n //#endregion\n}\n"],"names":["default_handler_exports","__export","DefaultHandler","__toCommonJS","import_util","__toESM","import_core","import_network","app","framework","adapters","resolverFactory","binarySettings","respondWithErrors","log","event","context","callback","adapter","util","requestValues","_a","response","statusCode","body","headers","isBase64Encoded","successResponse","request","encoding","logBody"],"mappings":"kiBAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,eAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAEA,IAAiBI,EAAAC,EAAA,QAAA,MAAA,CAAA,EAeVC,EAAA,QAAA,YAAA,EAC4BC,EAAA,QAAA,eAAA,EAU5B,MAAML,UAOHI,EAAmE,WAAA,CAMpE,WACLE,EACAC,EACAC,EACAC,EAOAC,EACAC,EACAC,EAC4B,CACrB,MAAA,CAACC,EAAeC,EAAmBC,IAAyB,CAC5D,KAAA,iBACHH,EACAC,EACAC,EACAJ,EACAC,CAAA,EAGF,MAAMK,EAAU,KAAK,4BACnBH,EACAC,EACAN,EACAI,CAAA,EAGG,YAAA,iBAAiBA,EAAKI,CAAO,KAEjBZ,EAAA,kBAAA,CAAE,MAAAS,EAAO,QAAAC,CAAS,CAAA,EAElBL,EAAgB,eAAe,CAC9C,MAAAI,EACA,QAAAC,EACA,SAAAC,EACA,IAAAH,EACA,kBAAAD,EACA,QAAAK,CAAA,CACD,EAEe,IAAI,IAClB,KAAK,0BACHV,EACAC,EACAM,EACAC,EACAE,EACAN,EACAE,CACF,CAAA,CACF,CAEJ,CAeU,iBACRA,EACAC,EACAC,EACAJ,EACAC,EACM,CACFC,EAAA,MAAM,2BAA4B,KAAO,CAC3C,MAAOV,EAAAe,QAAK,QAAQJ,EAAO,CAAE,MAAO,KAAM,EAC1C,QAASX,EAAAe,QAAK,QAAQH,EAAS,CAAE,MAAO,KAAM,EAC9C,eAAAJ,EACA,kBAAAC,CACA,EAAA,CACJ,CAQU,iBACRC,EACAI,EACM,CACFJ,EAAA,MACF,6CACAI,EAAQ,eAAe,CAAA,CAE3B,CAQU,uBACRJ,EACAM,EACM,CACFN,EAAA,MACF,iEACA,IAAO,OAAA,OACL,cAAe,CACb,GAAGM,EACH,MAAMC,EAAAD,EAAc,OAAd,YAAAC,EAAoB,UAC5B,CAAA,EACF,CAEJ,CAQU,sCACRP,EACAQ,EACM,CACFR,EAAA,MACF,2DACA,KAAO,CACL,SAAAQ,CAAA,EACF,CAEJ,CAWU,kBACRR,EACAS,EACAC,EACAC,EACAC,EACA,CACIZ,EAAA,MACF,mEACA,KAAO,CACL,WAAAS,EACA,KAAAC,EACA,QAAAC,EACA,gBAAAC,CAAA,EACF,CAEJ,CASU,iCACRZ,EACAa,EACAH,EACA,CACIV,EAAA,MACF,4DACA,KAAO,CACL,gBAAiBV,EAAAe,QAAK,QAAQQ,EAAiB,CAAE,MAAO,KAAM,EAC9D,KAAAH,CAAA,EACF,CAEJ,CAiBA,MAAgB,0BACdhB,EACAC,EACAM,EACAC,EACAE,EACAN,EACAE,EACoB,CACpB,MAAMM,EAAgBF,EAAQ,WAAWH,EAAOC,EAASF,CAAG,EAEvD,KAAA,uBAAuBA,EAAKM,CAAa,EAE9C,KAAM,CAACQ,EAASN,CAAQ,EACtB,KAAK,+CAA+CF,CAAa,EAEzD,OAAAX,EAAA,YAAYD,EAAKoB,EAASN,CAAQ,EAE5C,QAAMhB,yBAAsBgB,CAAQ,EAE/B,KAAA,sCAAsCR,EAAKQ,CAAQ,EAEjD,KAAK,gBAAgBP,EAAOO,EAAUJ,EAASN,EAAgBE,CAAG,CAC3E,CAWU,gBACRC,EACAO,EACAJ,EACAN,EACAE,EACW,CACX,MAAMS,EAAaD,EAAS,WACtBG,EAAUlB,EAAmB,mBAAA,QAAQe,CAAQ,EAC7CI,KAAkBpB,EAAS,UAAAmB,EAASb,CAAc,EAClDiB,EAAWH,EAAkB,SAAW,OACxCF,EAAOjB,EAAmB,mBAAA,KAAKe,CAAQ,EAAE,SAASO,CAAQ,EAC1DC,EAAUJ,EAAkB,mBAAqBF,EAEvD,KAAK,kBAAkBV,EAAKS,EAAYO,EAASL,EAASC,CAAe,EAEnE,MAAAC,EAAkBT,EAAQ,YAAY,CAC1C,MAAAH,EACA,WAAAQ,EACA,KAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,SAAAJ,EACA,IAAAR,CAAA,CACD,EAEI,YAAA,iCAAiCA,EAAKa,EAAiBG,CAAO,EAE5DH,CACT,CAGF"}
1
+ {"version":3,"file":"default.handler.js","sources":["../../../src/handlers/default/default.handler.ts"],"sourcesContent":["//#region Imports\n\nimport util from 'util';\nimport { BinarySettings, SingleValueHeaders } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport {\n BaseHandler,\n ILogger,\n isBinary,\n setCurrentInvoke,\n waitForStreamComplete,\n} from '../../core';\nimport { ServerlessResponse } from '../../network';\n\n//#endregion\n\n/**\n * The class that implements a default serverless handler consisting of a function with event, context and callback parameters respectively\n *\n * @breadcrumb Handlers / DefaultHandler\n * @public\n */\nexport class DefaultHandler<\n TApp,\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn,\n> extends BaseHandler<TApp, TEvent, TContext, TCallback, TResponse, TReturn> {\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, TContext, TResponse>[],\n resolverFactory: ResolverContract<\n TEvent,\n TContext,\n TCallback,\n TResponse,\n TReturn\n >,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n return (event: TEvent, context: TContext, callback?: TCallback) => {\n this.onReceiveRequest(\n log,\n event,\n context,\n binarySettings,\n respondWithErrors,\n );\n\n const adapter = this.getAdapterByEventAndContext(\n event,\n context,\n adapters,\n log,\n );\n\n this.onResolveAdapter(log, adapter);\n\n setCurrentInvoke({ event, context });\n\n const resolver = resolverFactory.createResolver({\n event,\n context,\n callback,\n log,\n respondWithErrors,\n adapter,\n });\n\n return resolver.run(() =>\n this.forwardRequestToFramework(\n app,\n framework,\n event,\n context,\n adapter,\n binarySettings,\n log,\n ),\n );\n };\n }\n\n //#endregion\n\n //#region Hooks\n\n /**\n * The hook executed on receive a request, before the request is being processed\n *\n * @param log - The instance of logger\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param binarySettings - The binary settings\n * @param respondWithErrors - Indicates whether the error stack should be included in the response or not\n */\n protected onReceiveRequest(\n log: ILogger,\n event: TEvent,\n context: TContext,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n ): void {\n log.debug('SERVERLESS_ADAPTER:PROXY', () => ({\n event: util.inspect(event, { depth: null }),\n context: util.inspect(context, { depth: null }),\n binarySettings,\n respondWithErrors,\n }));\n }\n\n /**\n * The hook executed after resolve the adapter that will be used to handle the request and response\n *\n * @param log - The instance of logger\n * @param adapter - The adapter resolved\n */\n protected onResolveAdapter(\n log: ILogger,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:RESOLVED_ADAPTER_NAME: ',\n adapter.getAdapterName(),\n );\n }\n\n /**\n * The hook executed after resolves the request values that will be sent to the framework\n *\n * @param log - The instance of logger\n * @param requestValues - The request values returned by the adapter\n */\n protected onResolveRequestValues(\n log: ILogger,\n requestValues: AdapterRequest,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:REQUEST_VALUES',\n () => ({\n requestValues: {\n ...requestValues,\n body: requestValues.body?.toString(),\n },\n }),\n );\n }\n\n /**\n * The hook executed after handling the response sent by the framework\n *\n * @param log - The instance of logger\n * @param response - The response sent by the framework\n */\n protected onResolveForwardedResponseToFramework(\n log: ILogger,\n response: ServerlessResponse,\n ): void {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_REQUEST_TO_FRAMEWORK:RESPONSE',\n () => ({\n response,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless\n *\n * @param log - The instance of logger\n * @param statusCode - The status code of the response\n * @param body - The body of the response\n * @param headers - The headers of the response\n * @param isBase64Encoded - Indicates whether the response was encoded as binary or not\n */\n protected onForwardResponse(\n log: ILogger,\n statusCode: number,\n body: string,\n headers: SingleValueHeaders,\n isBase64Encoded: boolean,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE_PARAMS',\n () => ({\n statusCode,\n body,\n headers,\n isBase64Encoded,\n }),\n );\n }\n\n /**\n * The hook executed before sending response to the serverless with response from adapter\n *\n * @param log - The instance of logger\n * @param successResponse - The success response resolved by the adapter\n * @param body - The body of the response sent by the framework\n */\n protected onForwardResponseAdapterResponse(\n log: ILogger,\n successResponse: TResponse,\n body: string,\n ) {\n log.debug(\n 'SERVERLESS_ADAPTER:FORWARD_RESPONSE:EVENT_SOURCE_RESPONSE',\n () => ({\n successResponse: util.inspect(successResponse, { depth: null }),\n body,\n }),\n );\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * The function to forward the event to the framework\n *\n * @param app - The instance of the app (express, hapi, etc...)\n * @param framework - The framework that will process requests\n * @param event - The event sent by serverless\n * @param context - The context sent by serverless\n * @param adapter - The adapter resolved to this event\n * @param log - The instance of logger\n * @param binarySettings - The binary settings\n */\n protected async forwardRequestToFramework(\n app: TApp,\n framework: FrameworkContract<TApp>,\n event: TEvent,\n context: TContext,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): Promise<TResponse> {\n const requestValues = adapter.getRequest(event, context, log);\n\n this.onResolveRequestValues(log, requestValues);\n\n const [request, response] =\n this.getServerlessRequestResponseFromAdapterRequest(requestValues);\n\n framework.sendRequest(app, request, response);\n\n await waitForStreamComplete(response);\n\n this.onResolveForwardedResponseToFramework(log, response);\n\n return this.forwardResponse(event, response, adapter, binarySettings, log);\n }\n\n /**\n * The function to forward the response back to the serverless\n *\n * @param event - The event sent by serverless\n * @param response - The response of the framework\n * @param adapter - The adapter resolved to this event\n * @param binarySettings - The binary settings\n * @param log - The instance of logger\n */\n protected forwardResponse(\n event: TEvent,\n response: ServerlessResponse,\n adapter: AdapterContract<TEvent, TContext, TResponse>,\n binarySettings: BinarySettings,\n log: ILogger,\n ): TResponse {\n const statusCode = response.statusCode;\n const headers = ServerlessResponse.headers(response);\n const isBase64Encoded = isBinary(headers, binarySettings);\n const encoding = isBase64Encoded ? 'base64' : 'utf8';\n const body = ServerlessResponse.body(response).toString(encoding);\n const logBody = isBase64Encoded ? '[BASE64_ENCODED]' : body;\n\n this.onForwardResponse(log, statusCode, logBody, headers, isBase64Encoded);\n\n const successResponse = adapter.getResponse({\n event,\n statusCode,\n body,\n headers,\n isBase64Encoded,\n response,\n log,\n });\n\n this.onForwardResponseAdapterResponse(log, successResponse, logBody);\n\n return successResponse;\n }\n\n //#endregion\n}\n"],"names":["util"],"mappings":"i4BAAA,wBAAA,CAAA,EAAA,SAAA,wBAAA,CAAA,eAAA,IAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,uBAAA,EAEA,IAAiB,YAAA,QAAA,QAAA,MAAA,CAAA,EAeV,YAAA,QAAA,YAAA,EAC4B,eAAA,QAAA,eAAA,EAU5B,MAAM,uBAOH,YAAmE,WAAA,CAMpE,WACL,IACA,UACA,SACA,gBAOA,eACA,kBACA,IAC4B,CACrB,MAAA,CAAC,MAAe,QAAmB,WAAyB,CAC5D,KAAA,iBACH,IACA,MACA,QACA,eACA,iBAAA,EAGF,MAAM,QAAU,KAAK,4BACnB,MACA,QACA,SACA,GAAA,EAGG,YAAA,iBAAiB,IAAK,OAAO,KAEjB,YAAA,kBAAA,CAAE,MAAO,OAAS,CAAA,EAElB,gBAAgB,eAAe,CAC9C,MACA,QACA,SACA,IACA,kBACA,OAAA,CACD,EAEe,IAAI,IAClB,KAAK,0BACH,IACA,UACA,MACA,QACA,QACA,eACA,GACF,CAAA,CACF,CAEJ,CAeU,iBACR,IACA,MACA,QACA,eACA,kBACM,CACF,IAAA,MAAM,2BAA4B,KAAO,CAC3C,MAAO,YAAAA,QAAK,QAAQ,MAAO,CAAE,MAAO,KAAM,EAC1C,QAAS,YAAAA,QAAK,QAAQ,QAAS,CAAE,MAAO,KAAM,EAC9C,eACA,iBACA,EAAA,CACJ,CAQU,iBACR,IACA,QACM,CACF,IAAA,MACF,6CACA,QAAQ,eAAe,CAAA,CAE3B,CAQU,uBACR,IACA,cACM,CACF,IAAA,MACF,iEACA,IAAO,QAAA,OACL,cAAe,CACb,GAAG,cACH,MAAM,iBAAc,OAAd,eAAoB,UAC5B,CAAA,EACF,CAEJ,CAQU,sCACR,IACA,SACM,CACF,IAAA,MACF,2DACA,KAAO,CACL,QAAA,EACF,CAEJ,CAWU,kBACR,IACA,WACA,KACA,QACA,gBACA,CACI,IAAA,MACF,mEACA,KAAO,CACL,WACA,KACA,QACA,eAAA,EACF,CAEJ,CASU,iCACR,IACA,gBACA,KACA,CACI,IAAA,MACF,4DACA,KAAO,CACL,gBAAiB,YAAAA,QAAK,QAAQ,gBAAiB,CAAE,MAAO,KAAM,EAC9D,IAAA,EACF,CAEJ,CAiBA,MAAgB,0BACd,IACA,UACA,MACA,QACA,QACA,eACA,IACoB,CACpB,MAAM,cAAgB,QAAQ,WAAW,MAAO,QAAS,GAAG,EAEvD,KAAA,uBAAuB,IAAK,aAAa,EAE9C,KAAM,CAAC,QAAS,QAAQ,EACtB,KAAK,+CAA+C,aAAa,EAEzD,iBAAA,YAAY,IAAK,QAAS,QAAQ,EAE5C,QAAM,mCAAsB,QAAQ,EAE/B,KAAA,sCAAsC,IAAK,QAAQ,EAEjD,KAAK,gBAAgB,MAAO,SAAU,QAAS,eAAgB,GAAG,CAC3E,CAWU,gBACR,MACA,SACA,QACA,eACA,IACW,CACX,MAAM,WAAa,SAAS,WACtB,QAAU,eAAmB,mBAAA,QAAQ,QAAQ,EAC7C,mBAAkB,YAAS,UAAA,QAAS,cAAc,EAClD,SAAW,gBAAkB,SAAW,OACxC,KAAO,eAAmB,mBAAA,KAAK,QAAQ,EAAE,SAAS,QAAQ,EAC1D,QAAU,gBAAkB,mBAAqB,KAEvD,KAAK,kBAAkB,IAAK,WAAY,QAAS,QAAS,eAAe,EAEnE,MAAA,gBAAkB,QAAQ,YAAY,CAC1C,MACA,WACA,KACA,QACA,gBACA,SACA,GAAA,CACD,EAEI,YAAA,iCAAiC,IAAK,gBAAiB,OAAO,EAE5D,eACT,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './default.handler';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/default/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,a=(r,e,p,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!l.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(o=u(e,t))||o.enumerable});return r},O=(r,e,p)=>(a(r,e,"default"),p&&a(p,e,"default")),c=r=>a(_({},"__esModule",{value:!0}),r),n={};module.exports=c(n);O(n,require("./default.handler"),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),default_exports={};module.exports=__toCommonJS(default_exports);__reExport(default_exports,require("./default.handler"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/handlers/default/index.ts"],"sourcesContent":["export * from './default.handler';\n"],"names":["default_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,mBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/handlers/default/index.ts"],"sourcesContent":["export * from './default.handler';\n"],"names":[],"mappings":"kqBAAA,gBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,eAAA,EAAA,WAAA,gBAAc,QAAd,mBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,17 @@
1
+ import { BinarySettings } from '../../@types';
2
+ import { AdapterContract, FrameworkContract, ResolverContract, ServerlessHandler } from '../../contracts';
3
+ import { ILogger } from '../../core';
4
+ import { DefaultHandler } from '../default';
5
+ /**
6
+ * The class that implements a serverless handler for Digital Ocean Functions.
7
+ *
8
+ * @breadcrumb Handlers / DigitalOceanHandler
9
+ * @public
10
+ */
11
+ export declare class DigitalOceanHandler<TApp, TEvent, TResponse, TReturn> extends DefaultHandler<TApp, TEvent, void, void, TResponse, TReturn> {
12
+ /**
13
+ * {@inheritDoc}
14
+ */
15
+ getHandler(app: TApp, framework: FrameworkContract<TApp>, adapters: AdapterContract<TEvent, void, TResponse>[], resolverFactory: ResolverContract<TEvent, void, void, TResponse, TReturn>, binarySettings: BinarySettings, respondWithErrors: boolean, log: ILogger): ServerlessHandler<TReturn>;
16
+ }
17
+ //# sourceMappingURL=digital-ocean.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-ocean.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/digital-ocean/digital-ocean.handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;GAKG;AACH,qBAAa,mBAAmB,CAC9B,IAAI,EACJ,MAAM,EACN,SAAS,EACT,OAAO,CACP,SAAQ,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;IACpE;;OAEG;IACI,UAAU,CACf,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAClC,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EACpD,eAAe,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EACzE,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,OAAO,EAC1B,GAAG,EAAE,OAAO,GACX,iBAAiB,CAAC,OAAO,CAAC;CAc9B"}
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,v=Object.prototype.hasOwnProperty,O=(r,e)=>{for(var a in e)o(r,a,{get:e[a],enumerable:!0})},g=(r,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of d(e))!v.call(r,t)&&t!==a&&o(r,t,{get:()=>e[t],enumerable:!(n=c(e,t))||n.enumerable});return r},y=r=>g(o({},"__esModule",{value:!0}),r),l={};O(l,{DigitalOceanHandler:()=>b});module.exports=y(l);var P=require("../default");class b extends P.DefaultHandler{getHandler(e,a,n,t,p,_,i){const s=super.getHandler(e,a,n,t,p,_,i);return u=>s(u,void 0,void 0)}}
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),digital_ocean_handler_exports={};__export(digital_ocean_handler_exports,{DigitalOceanHandler:()=>DigitalOceanHandler});module.exports=__toCommonJS(digital_ocean_handler_exports);var import_default=require("../default");class DigitalOceanHandler extends import_default.DefaultHandler{getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log){const defaultHandler=super.getHandler(app,framework,adapters,resolverFactory,binarySettings,respondWithErrors,log);return event=>defaultHandler(event,void 0,void 0)}}
2
2
  //# sourceMappingURL=digital-ocean.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"digital-ocean.handler.js","sources":["../../../src/handlers/digital-ocean/digital-ocean.handler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\n//#region Imports\n\nimport { BinarySettings } from '../../@types';\nimport { DigitalOceanHttpEvent } from '../../@types/digital-ocean';\nimport {\n AdapterContract,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport { ILogger } from '../../core';\nimport { DefaultHandler } from '../default';\n\n//#endregion\n\n/**\n * The class that implements a serverless handler for Digital Ocean Functions.\n *\n * @breadcrumb Handlers / DigitalOceanHandler\n * @public\n */\nexport class DigitalOceanHandler<\n TApp,\n TEvent,\n TResponse,\n TReturn,\n> extends DefaultHandler<TApp, TEvent, void, void, TResponse, TReturn> {\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, void, TResponse>[],\n resolverFactory: ResolverContract<TEvent, void, void, TResponse, TReturn>,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n const defaultHandler = super.getHandler(\n app,\n framework,\n adapters,\n resolverFactory,\n binarySettings,\n respondWithErrors,\n log,\n );\n\n return (event: DigitalOceanHttpEvent) =>\n defaultHandler(event, undefined, undefined);\n }\n}\n"],"names":["digital_ocean_handler_exports","__export","DigitalOceanHandler","__toCommonJS","import_default","app","framework","adapters","resolverFactory","binarySettings","respondWithErrors","log","defaultHandler","event"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,oBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAYA,IAA+BI,EAAA,QAAA,YAAA,EAUxB,MAAMF,UAKHE,EAA6D,cAAA,CAI9D,WACLC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAC4B,CAC5B,MAAMC,EAAiB,MAAM,WAC3BP,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAAA,EAGF,OAAQE,GACND,EAAeC,EAAO,OAAW,MAAS,CAC9C,CACF"}
1
+ {"version":3,"file":"digital-ocean.handler.js","sources":["../../../src/handlers/digital-ocean/digital-ocean.handler.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\n//#region Imports\n\nimport { BinarySettings } from '../../@types';\nimport { DigitalOceanHttpEvent } from '../../@types/digital-ocean';\nimport {\n AdapterContract,\n FrameworkContract,\n ResolverContract,\n ServerlessHandler,\n} from '../../contracts';\nimport { ILogger } from '../../core';\nimport { DefaultHandler } from '../default';\n\n//#endregion\n\n/**\n * The class that implements a serverless handler for Digital Ocean Functions.\n *\n * @breadcrumb Handlers / DigitalOceanHandler\n * @public\n */\nexport class DigitalOceanHandler<\n TApp,\n TEvent,\n TResponse,\n TReturn,\n> extends DefaultHandler<TApp, TEvent, void, void, TResponse, TReturn> {\n /**\n * {@inheritDoc}\n */\n public getHandler(\n app: TApp,\n framework: FrameworkContract<TApp>,\n adapters: AdapterContract<TEvent, void, TResponse>[],\n resolverFactory: ResolverContract<TEvent, void, void, TResponse, TReturn>,\n binarySettings: BinarySettings,\n respondWithErrors: boolean,\n log: ILogger,\n ): ServerlessHandler<TReturn> {\n const defaultHandler = super.getHandler(\n app,\n framework,\n adapters,\n resolverFactory,\n binarySettings,\n respondWithErrors,\n log,\n );\n\n return (event: DigitalOceanHttpEvent) =>\n defaultHandler(event, undefined, undefined);\n }\n}\n"],"names":[],"mappings":"ooBAAA,8BAAA,CAAA,EAAA,SAAA,8BAAA,CAAA,oBAAA,IAAA,mBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,6BAAA,EAYA,IAA+B,eAAA,QAAA,YAAA,EAUxB,MAAM,4BAKH,eAA6D,cAAA,CAI9D,WACL,IACA,UACA,SACA,gBACA,eACA,kBACA,IAC4B,CAC5B,MAAM,eAAiB,MAAM,WAC3B,IACA,UACA,SACA,gBACA,eACA,kBACA,GAAA,EAGF,OAAQ,OACN,eAAe,MAAO,OAAW,MAAS,CAC9C,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './digital-ocean.handler';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/digital-ocean/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,c=Object.prototype.hasOwnProperty,o=(r,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of u(e))!c.call(r,t)&&t!==a&&_(r,t,{get:()=>e[t],enumerable:!(p=s(e,t))||p.enumerable});return r},l=(r,e,a)=>(o(r,e,"default"),a&&o(a,e,"default")),O=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=O(n);l(n,require("./digital-ocean.handler"),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),digital_ocean_exports={};module.exports=__toCommonJS(digital_ocean_exports);__reExport(digital_ocean_exports,require("./digital-ocean.handler"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/handlers/digital-ocean/index.ts"],"sourcesContent":["export * from './digital-ocean.handler';\n"],"names":["digital_ocean_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,yBAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/handlers/digital-ocean/index.ts"],"sourcesContent":["export * from './digital-ocean.handler';\n"],"names":[],"mappings":"kqBAAA,sBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAAA,WAAA,sBAAc,QAAd,yBAAA,EAAA,OAAA,OAAA"}