@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":"http-trigger-v4.adapter.js","sources":["../../../src/adapters/azure/http-trigger-v4.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { URL } from 'url';\nimport type {\n Context,\n Cookie,\n HttpRequest,\n HttpResponseSimple,\n} from '@azure/functions';\nimport { BothValueHeaders } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HttpTriggerV4Adapter}\n *\n * @breadcrumb Adapters / Azure / HttpTriggerV4Adapter\n * @public\n */\nexport interface HttpTriggerV4AdapterOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Http Trigger on Azure Function V4.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new HttpTriggerV4Adapter({ stripBasePath });\n * ```\n *\n * @see {@link https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node | Reference}\n *\n * @breadcrumb Adapters / Azure / HttpTriggerV4Adapter\n * @public\n */\nexport class HttpTriggerV4Adapter\n implements AdapterContract<HttpRequest, Context, HttpResponseSimple>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HttpTriggerV4Adapter}\n */\n constructor(protected readonly options?: HttpTriggerV4AdapterOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HttpTriggerV4Adapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown, context: unknown): boolean {\n const maybeEvent = event as Partial<HttpRequest> | undefined;\n const maybeContext = context as Partial<Context> | undefined;\n\n return !!(\n maybeEvent &&\n maybeEvent.method &&\n maybeEvent.headers &&\n maybeEvent.url &&\n maybeEvent.query &&\n maybeContext &&\n maybeContext.traceContext &&\n maybeContext.bindingDefinitions &&\n maybeContext.log &&\n !!maybeContext.log.info &&\n maybeContext.bindingData\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HttpRequest): AdapterRequest {\n const path = this.getPathFromEvent(event);\n\n const method = event.method;\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.rawBody,\n false,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-forwarded-for'];\n\n return {\n method: method as string,\n path,\n headers,\n remoteAddress,\n body,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n body,\n isBase64Encoded,\n statusCode,\n headers: originalHeaders,\n }: GetResponseAdapterProps<HttpRequest>): HttpResponseSimple {\n const headers = getFlattenedHeadersMap(originalHeaders, ',', true);\n const cookies = this.getAzureCookiesFromHeaders(originalHeaders);\n\n if (headers['set-cookie']) delete headers['set-cookie'];\n\n return {\n body,\n statusCode,\n headers,\n // I tried to understand this property with\n // https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation\n // but I don't know if it's worth implementing this guy as an option\n // I found out when this guy is set to true and the framework sets content-type, azure returns 500\n // So I'll leave it as is and hope no one has any problems.\n enableContentNegotiation: false,\n cookies,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n respondWithErrors,\n event,\n delegatedResolver,\n log,\n }: OnErrorProps<HttpRequest, HttpResponseSimple>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HttpRequest): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n\n const url = new URL(event.url);\n const originalPath = url.pathname;\n\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = originalPath.replace(replaceRegex, '');\n\n const queryParams = event.query;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n /**\n * Get the Azure Cookie list parsed from set-cookie header.\n *\n * @param headers - The headers object\n */\n protected getAzureCookiesFromHeaders(headers: BothValueHeaders): Cookie[] {\n const setCookie = headers['set-cookie'];\n\n const headerCookies = Array.isArray(setCookie)\n ? setCookie\n : setCookie\n ? [setCookie]\n : [];\n\n return headerCookies.map(cookie => this.parseCookie(cookie));\n }\n\n /**\n * Parse the string cookie to the Azure Cookie Object.\n * This code was written by {@link https://github.com/zachabney | @zachabney}\n * on {@link https://github.com/zachabney/azure-aws-serverless-express/blob/241d2d5c4d5906e4817662cad6426ec2cbbf9ca7/src/index.js#L4-L49 | this library}.\n *\n * @param cookie - The cookie\n */\n protected parseCookie(cookie: string): Cookie {\n return cookie.split(';').reduce(\n (azureCookieObject, cookieProperty, index) => {\n const [key, value] = cookieProperty.split('=');\n\n const sanitizedKey = key.toLowerCase().trim();\n const sanitizedValue = value && value.trim();\n\n if (index === 0) {\n azureCookieObject.name = key;\n azureCookieObject.value = sanitizedValue;\n\n return azureCookieObject;\n }\n\n switch (sanitizedKey) {\n case 'domain':\n azureCookieObject.domain = sanitizedValue;\n break;\n case 'path':\n azureCookieObject.path = sanitizedValue;\n break;\n case 'expires':\n azureCookieObject.expires = new Date(sanitizedValue);\n break;\n case 'secure':\n azureCookieObject.secure = true;\n break;\n case 'httponly':\n azureCookieObject.httpOnly = true;\n break;\n case 'samesite':\n azureCookieObject.sameSite = sanitizedValue as Cookie['sameSite'];\n break;\n case 'max-age':\n azureCookieObject.maxAge = Number(sanitizedValue);\n break;\n }\n\n return azureCookieObject;\n },\n { name: '', value: '' } as Cookie,\n );\n }\n\n //#endregion\n}\n"],"names":["http_trigger_v4_adapter_exports","__export","HttpTriggerV4Adapter","__toCommonJS","import_url","import_core","options","event","context","maybeEvent","maybeContext","path","method","headers","body","bufferBody","contentLength","remoteAddress","isBase64Encoded","statusCode","originalHeaders","cookies","error","respondWithErrors","delegatedResolver","log","errorResponse","stripBasePath","_a","originalPath","replaceRegex","queryParams","setCookie","cookie","azureCookieObject","cookieProperty","index","key","value","sanitizedKey","sanitizedValue"],"mappings":"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"}
1
+ {"version":3,"file":"http-trigger-v4.adapter.js","sources":["../../../src/adapters/azure/http-trigger-v4.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { URL } from 'url';\nimport type {\n Context,\n Cookie,\n HttpRequest,\n HttpResponseSimple,\n} from '@azure/functions';\nimport { BothValueHeaders } from '../../@types';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HttpTriggerV4Adapter}\n *\n * @breadcrumb Adapters / Azure / HttpTriggerV4Adapter\n * @public\n */\nexport interface HttpTriggerV4AdapterOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Http Trigger on Azure Function V4.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new HttpTriggerV4Adapter({ stripBasePath });\n * ```\n *\n * @see {@link https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node | Reference}\n *\n * @breadcrumb Adapters / Azure / HttpTriggerV4Adapter\n * @public\n */\nexport class HttpTriggerV4Adapter\n implements AdapterContract<HttpRequest, Context, HttpResponseSimple>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HttpTriggerV4Adapter}\n */\n constructor(protected readonly options?: HttpTriggerV4AdapterOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HttpTriggerV4Adapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown, context: unknown): boolean {\n const maybeEvent = event as Partial<HttpRequest> | undefined;\n const maybeContext = context as Partial<Context> | undefined;\n\n return !!(\n maybeEvent &&\n maybeEvent.method &&\n maybeEvent.headers &&\n maybeEvent.url &&\n maybeEvent.query &&\n maybeContext &&\n maybeContext.traceContext &&\n maybeContext.bindingDefinitions &&\n maybeContext.log &&\n !!maybeContext.log.info &&\n maybeContext.bindingData\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HttpRequest): AdapterRequest {\n const path = this.getPathFromEvent(event);\n\n const method = event.method!;\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.rawBody,\n false,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-forwarded-for'];\n\n return {\n method,\n path,\n headers,\n remoteAddress,\n body,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n body,\n statusCode,\n headers: originalHeaders,\n }: GetResponseAdapterProps<HttpRequest>): HttpResponseSimple {\n const headers = getFlattenedHeadersMap(originalHeaders, ',', true);\n const cookies = this.getAzureCookiesFromHeaders(originalHeaders);\n\n if (headers['set-cookie']) delete headers['set-cookie'];\n\n return {\n body,\n statusCode,\n headers,\n // I tried to understand this property with\n // https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation\n // but I don't know if it's worth implementing this guy as an option\n // I found out when this guy is set to true and the framework sets content-type, azure returns 500\n // So I'll leave it as is and hope no one has any problems.\n enableContentNegotiation: false,\n cookies,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n respondWithErrors,\n event,\n delegatedResolver,\n log,\n }: OnErrorProps<HttpRequest, HttpResponseSimple>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HttpRequest): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n\n const url = new URL(event.url);\n const originalPath = url.pathname;\n\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = originalPath.replace(replaceRegex, '');\n\n const queryParams = event.query;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n /**\n * Get the Azure Cookie list parsed from set-cookie header.\n *\n * @param headers - The headers object\n */\n protected getAzureCookiesFromHeaders(headers: BothValueHeaders): Cookie[] {\n const setCookie = headers['set-cookie'];\n\n const headerCookies = Array.isArray(setCookie)\n ? setCookie\n : setCookie\n ? [setCookie]\n : [];\n\n return headerCookies.map(cookie => this.parseCookie(cookie));\n }\n\n /**\n * Parse the string cookie to the Azure Cookie Object.\n * This code was written by {@link https://github.com/zachabney | @zachabney}\n * on {@link https://github.com/zachabney/azure-aws-serverless-express/blob/241d2d5c4d5906e4817662cad6426ec2cbbf9ca7/src/index.js#L4-L49 | this library}.\n *\n * @param cookie - The cookie\n */\n protected parseCookie(cookie: string): Cookie {\n return cookie.split(';').reduce(\n (azureCookieObject, cookieProperty, index) => {\n const [key, value] = cookieProperty.split('=');\n\n const sanitizedKey = key.toLowerCase().trim();\n const sanitizedValue = value && value.trim();\n\n if (index === 0) {\n azureCookieObject.name = key;\n azureCookieObject.value = sanitizedValue;\n\n return azureCookieObject;\n }\n\n switch (sanitizedKey) {\n case 'domain':\n azureCookieObject.domain = sanitizedValue;\n break;\n case 'path':\n azureCookieObject.path = sanitizedValue;\n break;\n case 'expires':\n azureCookieObject.expires = new Date(sanitizedValue);\n break;\n case 'secure':\n azureCookieObject.secure = true;\n break;\n case 'httponly':\n azureCookieObject.httpOnly = true;\n break;\n case 'samesite':\n azureCookieObject.sameSite = sanitizedValue as Cookie['sameSite'];\n break;\n case 'max-age':\n azureCookieObject.maxAge = Number(sanitizedValue);\n break;\n }\n\n return azureCookieObject;\n },\n { name: '', value: '' } as Cookie,\n );\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './http-trigger-v4.adapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/azure/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,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("./http-trigger-v4.adapter"),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("./http-trigger-v4.adapter"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/adapters/azure/index.ts"],"sourcesContent":["export * from './http-trigger-v4.adapter';\n"],"names":["azure_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,2BAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/adapters/azure/index.ts"],"sourcesContent":["export * from './http-trigger-v4.adapter';\n"],"names":[],"mappings":"kqBAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAAA,WAAA,cAAc,QAAd,2BAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,65 @@
1
+ import { DigitalOceanHttpEvent } from '../../@types/digital-ocean';
2
+ import { DigitalOceanHttpResponse } from '../../@types/digital-ocean/digital-ocean-http-response';
3
+ import { AdapterContract, AdapterRequest, GetResponseAdapterProps, OnErrorProps } from '../../contracts';
4
+ /**
5
+ * The options to customize the {@link HttpFunctionAdapter}
6
+ *
7
+ * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter
8
+ * @public
9
+ */
10
+ export interface HttpFunctionAdapterOptions {
11
+ /**
12
+ * Strip base path for custom domains
13
+ *
14
+ * @defaultValue ''
15
+ */
16
+ stripBasePath?: string;
17
+ }
18
+ /**
19
+ * The adapter to handle requests from Digital Ocean Functions when called from HTTP Endpoint.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const stripBasePath = '/any/custom/base/path'; // default ''
24
+ * const adapter = new HttpFunctionAdapter({ stripBasePath });
25
+ * ```
26
+ *
27
+ * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter
28
+ * @public
29
+ */
30
+ export declare class HttpFunctionAdapter implements AdapterContract<DigitalOceanHttpEvent, void, DigitalOceanHttpResponse> {
31
+ protected readonly options?: HttpFunctionAdapterOptions | undefined;
32
+ /**
33
+ * Default constructor
34
+ *
35
+ * @param options - The options to customize the {@link HttpFunctionAdapter}
36
+ */
37
+ constructor(options?: HttpFunctionAdapterOptions | undefined);
38
+ /**
39
+ * {@inheritDoc}
40
+ */
41
+ getAdapterName(): string;
42
+ /**
43
+ * {@inheritDoc}
44
+ */
45
+ canHandle(event: unknown): event is DigitalOceanHttpEvent;
46
+ /**
47
+ * {@inheritDoc}
48
+ */
49
+ getRequest(event: DigitalOceanHttpEvent): AdapterRequest;
50
+ /**
51
+ * {@inheritDoc}
52
+ */
53
+ getResponse({ headers: responseHeaders, body, statusCode, }: GetResponseAdapterProps<DigitalOceanHttpEvent>): DigitalOceanHttpResponse;
54
+ /**
55
+ * {@inheritDoc}
56
+ */
57
+ onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }: OnErrorProps<DigitalOceanHttpEvent, DigitalOceanHttpResponse>): void;
58
+ /**
59
+ * Get path from event with query strings
60
+ *
61
+ * @param event - The event sent by digital ocean
62
+ */
63
+ protected getPathFromEvent(event: DigitalOceanHttpEvent): string;
64
+ }
65
+ //# sourceMappingURL=http-function.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-function.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/digital-ocean/http-function.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAUzB;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBACX,YACE,eAAe,CAAC,qBAAqB,EAAE,IAAI,EAAE,wBAAwB,CAAC;IAS5D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IALvC;;;;OAIG;gBAC4B,OAAO,CAAC,wCAA4B;IAMnE;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB;IAWhE;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc;IA4B/D;;OAEG;IACI,WAAW,CAAC,EACjB,OAAO,EAAE,eAAe,EACxB,IAAI,EACJ,UAAU,GACX,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,GAAG,wBAAwB;IAU5E;;OAEG;IACI,sBAAsB,CAAC,EAC5B,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,EACL,GAAG,GACJ,EAAE,YAAY,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,IAAI;IAkBvE;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM;CAcjE"}
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,w=Object.prototype.hasOwnProperty,y=(s,e)=>{for(var t in e)d(s,t,{get:e[t],enumerable:!0})},f=(s,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of g(e))!w.call(s,r)&&r!==t&&d(s,r,{get:()=>e[r],enumerable:!(o=u(e,r))||o.enumerable});return s},l=s=>f(d({},"__esModule",{value:!0}),s),i={};y(i,{HttpFunctionAdapter:()=>c});module.exports=l(i);var _=require("../../core");class c{constructor(e){this.options=e}getAdapterName(){return c.name}canHandle(e){const t=e;return!!t&&t.__ow_path!==void 0&&t.__ow_method!==void 0&&t.__ow_headers!==void 0}getRequest(e){const t=e.__ow_headers,o=e.__ow_method.toUpperCase(),r=this.getPathFromEvent(e);let a;if(e.__ow_body){const[p,h]=(0,_.getEventBodyAsBuffer)(e.__ow_body,!!e.__ow_isBase64Encoded);a=p,t["content-length"]=String(h)}const n=t["x-forwarded-for"];return{method:o,headers:t,body:a,remoteAddress:n,path:r}}getResponse({headers:e,body:t,statusCode:o}){const r=(0,_.getFlattenedHeadersMap)(e);return{statusCode:o,body:t,headers:r}}onErrorWhileForwarding({error:e,delegatedResolver:t,respondWithErrors:o,event:r,log:a}){const n=o?e.stack:"",p=this.getResponse({event:r,statusCode:500,body:n||"",headers:{},isBase64Encoded:!1,log:a});t.succeed(p)}getPathFromEvent(e){var n;const t=(0,_.getDefaultIfUndefined)((n=this.options)==null?void 0:n.stripBasePath,""),o=new RegExp(`^${t}`),r=e.__ow_path.replace(o,""),a=e.__ow_query;return(0,_.getPathWithQueryStringParams)(r,a||{})}}
1
+ "use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),http_function_adapter_exports={};__export(http_function_adapter_exports,{HttpFunctionAdapter:()=>HttpFunctionAdapter});module.exports=__toCommonJS(http_function_adapter_exports);var import_core=require("../../core");class HttpFunctionAdapter{constructor(options){this.options=options}getAdapterName(){return HttpFunctionAdapter.name}canHandle(event){const digitalOceanHttpEvent=event;return!!digitalOceanHttpEvent&&digitalOceanHttpEvent.__ow_path!==void 0&&digitalOceanHttpEvent.__ow_method!==void 0&&digitalOceanHttpEvent.__ow_headers!==void 0}getRequest(event){const headers=event.__ow_headers,method=event.__ow_method.toUpperCase(),path=this.getPathFromEvent(event);let body;if(event.__ow_body){const[bufferBody,contentLength]=(0,import_core.getEventBodyAsBuffer)(event.__ow_body,!!event.__ow_isBase64Encoded);body=bufferBody,headers["content-length"]=String(contentLength)}const remoteAddress=headers["x-forwarded-for"];return{method,headers,body,remoteAddress,path}}getResponse({headers:responseHeaders,body,statusCode}){const headers=(0,import_core.getFlattenedHeadersMap)(responseHeaders);return{statusCode,body,headers}}onErrorWhileForwarding({error,delegatedResolver,respondWithErrors,event,log}){const body=respondWithErrors?error.stack:"",errorResponse=this.getResponse({event,statusCode:500,body:body||"",headers:{},isBase64Encoded:!1,log});delegatedResolver.succeed(errorResponse)}getPathFromEvent(event){var _a;const stripBasePath=(0,import_core.getDefaultIfUndefined)((_a=this.options)==null?void 0:_a.stripBasePath,""),replaceRegex=new RegExp(`^${stripBasePath}`),path=event.__ow_path.replace(replaceRegex,""),queryParams=event.__ow_query;return(0,import_core.getPathWithQueryStringParams)(path,queryParams||{})}}
2
2
  //# sourceMappingURL=http-function.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-function.adapter.js","sources":["../../../src/adapters/digital-ocean/http-function.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { DigitalOceanHttpEvent } from '../../@types/digital-ocean';\nimport { DigitalOceanHttpResponse } from '../../@types/digital-ocean/digital-ocean-http-response';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HttpFunctionAdapter}\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport interface HttpFunctionAdapterOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Digital Ocean Functions when called from HTTP Endpoint.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new HttpFunctionAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport class HttpFunctionAdapter\n implements\n AdapterContract<DigitalOceanHttpEvent, void, DigitalOceanHttpResponse>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HttpFunctionAdapter}\n */\n constructor(protected readonly options?: HttpFunctionAdapterOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HttpFunctionAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is DigitalOceanHttpEvent {\n const digitalOceanHttpEvent = event as DigitalOceanHttpEvent;\n\n return (\n !!digitalOceanHttpEvent &&\n digitalOceanHttpEvent.__ow_path !== undefined &&\n digitalOceanHttpEvent.__ow_method !== undefined &&\n digitalOceanHttpEvent.__ow_headers !== undefined\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: DigitalOceanHttpEvent): AdapterRequest {\n const headers = event.__ow_headers;\n const method = event.__ow_method.toUpperCase();\n const path = this.getPathFromEvent(event);\n\n let body: Buffer | undefined;\n\n if (event.__ow_body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.__ow_body,\n !!event.__ow_isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-forwarded-for'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n statusCode,\n }: GetResponseAdapterProps<DigitalOceanHttpEvent>): DigitalOceanHttpResponse {\n const headers = getFlattenedHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<DigitalOceanHttpEvent, DigitalOceanHttpResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by digital ocean\n */\n protected getPathFromEvent(event: DigitalOceanHttpEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n\n const path = event.__ow_path.replace(replaceRegex, '');\n const queryParams = event.__ow_query;\n\n return getPathWithQueryStringParams(path, queryParams || {});\n }\n\n //#endregion\n}\n"],"names":["http_function_adapter_exports","__export","HttpFunctionAdapter","__toCommonJS","import_core","options","event","digitalOceanHttpEvent","headers","method","path","body","bufferBody","contentLength","remoteAddress","responseHeaders","statusCode","error","delegatedResolver","respondWithErrors","log","errorResponse","stripBasePath","_a","replaceRegex","queryParams"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,oBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAUA,IAKOI,EAAA,QAAA,YAAA,EA+BA,MAAMF,CAGb,CAQE,YAA+BG,EAAsC,CAAtC,KAAA,QAAAA,CAAuC,CAS/D,gBAAyB,CAC9B,OAAOH,EAAoB,IAC7B,CAKO,UAAUI,EAAgD,CAC/D,MAAMC,EAAwBD,EAG5B,MAAA,CAAC,CAACC,GACFA,EAAsB,YAAc,QACpCA,EAAsB,cAAgB,QACtCA,EAAsB,eAAiB,MAE3C,CAKO,WAAWD,EAA8C,CAC9D,MAAME,EAAUF,EAAM,aAChBG,EAASH,EAAM,YAAY,YAAY,EACvCI,EAAO,KAAK,iBAAiBJ,CAAK,EAEpC,IAAAK,EAEJ,GAAIL,EAAM,UAAW,CACb,KAAA,CAACM,EAAYC,CAAa,KAAIT,EAAA,sBAClCE,EAAM,UACN,CAAC,CAACA,EAAM,oBAAA,EAGHK,EAAAC,EACCJ,EAAA,gBAAgB,EAAI,OAAOK,CAAa,EAG5C,MAAAC,EAAgBN,EAAQ,iBAAiB,EAExC,MAAA,CACL,OAAAC,EACA,QAAAD,EACA,KAAAG,EACA,cAAAG,EACA,KAAAJ,CAAA,CAEJ,CAKO,YAAY,CACjB,QAASK,EACT,KAAAJ,EACA,WAAAK,CAAA,EAC2E,CACrE,MAAAR,KAAUJ,0BAAuBW,CAAe,EAE/C,MAAA,CACL,WAAAC,EACA,KAAAL,EACA,QAAAH,CAAA,CAEJ,CAKO,uBAAuB,CAC5B,MAAAS,EACA,kBAAAC,EACA,kBAAAC,EACA,MAAAb,EACA,IAAAc,CAAA,EACsE,CAChE,MAAAT,EAAOQ,EAAoBF,EAAM,MAAQ,GACzCI,EAAgB,KAAK,YAAY,CACrC,MAAAf,EACA,WAAY,IACZ,KAAMK,GAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,IAAAS,CAAA,CACD,EAEDF,EAAkB,QAAQG,CAAa,CACzC,CAWU,iBAAiBf,EAAsC,OAC/D,MAAMgB,KAAgBlB,EAAA,wBACpBmB,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,EAAA,EAEIC,EAAe,IAAI,OAAO,IAAIF,GAAe,EAE7CZ,EAAOJ,EAAM,UAAU,QAAQkB,EAAc,EAAE,EAC/CC,EAAcnB,EAAM,WAE1B,SAAOF,EAA6B,8BAAAM,EAAMe,GAAe,CAAE,CAAA,CAC7D,CAGF"}
1
+ {"version":3,"file":"http-function.adapter.js","sources":["../../../src/adapters/digital-ocean/http-function.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { DigitalOceanHttpEvent } from '../../@types/digital-ocean';\nimport { DigitalOceanHttpResponse } from '../../@types/digital-ocean/digital-ocean-http-response';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HttpFunctionAdapter}\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport interface HttpFunctionAdapterOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Digital Ocean Functions when called from HTTP Endpoint.\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new HttpFunctionAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Digital Ocean / HttpFunctionAdapter\n * @public\n */\nexport class HttpFunctionAdapter\n implements\n AdapterContract<DigitalOceanHttpEvent, void, DigitalOceanHttpResponse>\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HttpFunctionAdapter}\n */\n constructor(protected readonly options?: HttpFunctionAdapterOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HttpFunctionAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is DigitalOceanHttpEvent {\n const digitalOceanHttpEvent = event as DigitalOceanHttpEvent;\n\n return (\n !!digitalOceanHttpEvent &&\n digitalOceanHttpEvent.__ow_path !== undefined &&\n digitalOceanHttpEvent.__ow_method !== undefined &&\n digitalOceanHttpEvent.__ow_headers !== undefined\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: DigitalOceanHttpEvent): AdapterRequest {\n const headers = event.__ow_headers;\n const method = event.__ow_method.toUpperCase();\n const path = this.getPathFromEvent(event);\n\n let body: Buffer | undefined;\n\n if (event.__ow_body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.__ow_body,\n !!event.__ow_isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-forwarded-for'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n statusCode,\n }: GetResponseAdapterProps<DigitalOceanHttpEvent>): DigitalOceanHttpResponse {\n const headers = getFlattenedHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<DigitalOceanHttpEvent, DigitalOceanHttpResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by digital ocean\n */\n protected getPathFromEvent(event: DigitalOceanHttpEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n\n const path = event.__ow_path.replace(replaceRegex, '');\n const queryParams = event.__ow_query;\n\n return getPathWithQueryStringParams(path, queryParams || {});\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,8BAAA,CAAA,EAAA,SAAA,8BAAA,CAAA,oBAAA,IAAA,mBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,6BAAA,EAUA,IAKO,YAAA,QAAA,YAAA,EA+BA,MAAM,mBAGb,CAQE,YAA+B,QAAsC,CAAtC,KAAA,QAAA,OAAuC,CAS/D,gBAAyB,CAC9B,OAAO,oBAAoB,IAC7B,CAKO,UAAU,MAAgD,CAC/D,MAAM,sBAAwB,MAG5B,MAAA,CAAC,CAAC,uBACF,sBAAsB,YAAc,QACpC,sBAAsB,cAAgB,QACtC,sBAAsB,eAAiB,MAE3C,CAKO,WAAW,MAA8C,CAC9D,MAAM,QAAU,MAAM,aAChB,OAAS,MAAM,YAAY,YAAY,EACvC,KAAO,KAAK,iBAAiB,KAAK,EAEpC,IAAA,KAEJ,GAAI,MAAM,UAAW,CACb,KAAA,CAAC,WAAY,aAAa,KAAI,YAAA,sBAClC,MAAM,UACN,CAAC,CAAC,MAAM,oBAAA,EAGH,KAAA,WACC,QAAA,gBAAgB,EAAI,OAAO,aAAa,CAClD,CAEM,MAAA,cAAgB,QAAQ,iBAAiB,EAExC,MAAA,CACL,OACA,QACA,KACA,cACA,IAAA,CAEJ,CAKO,YAAY,CACjB,QAAS,gBACT,KACA,UAAA,EAC2E,CACrE,MAAA,WAAU,oCAAuB,eAAe,EAE/C,MAAA,CACL,WACA,KACA,OAAA,CAEJ,CAKO,uBAAuB,CAC5B,MACA,kBACA,kBACA,MACA,GAAA,EACsE,CAChE,MAAA,KAAO,kBAAoB,MAAM,MAAQ,GACzC,cAAgB,KAAK,YAAY,CACrC,MACA,WAAY,IACZ,KAAM,MAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,GAAA,CACD,EAED,kBAAkB,QAAQ,aAAa,CACzC,CAWU,iBAAiB,MAAsC,QAC/D,MAAM,iBAAgB,YAAA,wBACpB,QAAK,UAAL,eAAc,cACd,EAAA,EAEI,aAAe,IAAI,OAAO,IAAI,aAAa,EAAE,EAE7C,KAAO,MAAM,UAAU,QAAQ,aAAc,EAAE,EAC/C,YAAc,MAAM,WAE1B,SAAO,YAA6B,8BAAA,KAAM,aAAe,CAAE,CAAA,CAC7D,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './http-function.adapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/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("./http-function.adapter"),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("./http-function.adapter"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/adapters/digital-ocean/index.ts"],"sourcesContent":["export * from './http-function.adapter';\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/adapters/digital-ocean/index.ts"],"sourcesContent":["export * from './http-function.adapter';\n"],"names":[],"mappings":"kqBAAA,sBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAAA,WAAA,sBAAc,QAAd,yBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,31 @@
1
+ import { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';
2
+ import { IEmptyResponse } from '../../core';
3
+ /**
4
+ * The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.
5
+ *
6
+ * @breadcrumb Adapters / DummyAdapter
7
+ * @public
8
+ */
9
+ export declare class DummyAdapter implements AdapterContract<any, any, void> {
10
+ /**
11
+ * {@inheritDoc}
12
+ */
13
+ canHandle(): boolean;
14
+ /**
15
+ * {@inheritDoc}
16
+ */
17
+ getAdapterName(): string;
18
+ /**
19
+ * {@inheritDoc}
20
+ */
21
+ getRequest(): AdapterRequest;
22
+ /**
23
+ * {@inheritDoc}
24
+ */
25
+ getResponse(): IEmptyResponse;
26
+ /**
27
+ * {@inheritDoc}
28
+ */
29
+ onErrorWhileForwarding(props: OnErrorProps<any, void>): void;
30
+ }
31
+ //# sourceMappingURL=dummy.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dummy.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/dummy/dummy.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAiB,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;IAClE;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,UAAU,IAAI,cAAc;IASnC;;OAEG;IACI,WAAW,IAAI,cAAc;IAIpC;;OAEG;IACI,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI;CAGpE"}
@@ -1,2 +1,2 @@
1
- "use strict";var a=Object.defineProperty,u=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,d=Object.prototype.hasOwnProperty,c=(r,e)=>{for(var o in e)a(r,o,{get:e[o],enumerable:!0})},y=(r,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of _(e))!d.call(r,t)&&t!==o&&a(r,t,{get:()=>e[t],enumerable:!(n=u(e,t))||n.enumerable});return r},v=r=>y(a({},"__esModule",{value:!0}),r),s={};c(s,{DummyAdapter:()=>p});module.exports=v(s);var i=require("../../core");class p{canHandle(){return!0}getAdapterName(){return p.name}getRequest(){return{method:"POST",body:void 0,path:"/dummy",headers:{}}}getResponse(){return i.EmptyResponse}onErrorWhileForwarding(e){e.delegatedResolver.succeed()}}
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),dummy_adapter_exports={};__export(dummy_adapter_exports,{DummyAdapter:()=>DummyAdapter});module.exports=__toCommonJS(dummy_adapter_exports);var import_core=require("../../core");class DummyAdapter{canHandle(){return!0}getAdapterName(){return DummyAdapter.name}getRequest(){return{method:"POST",body:void 0,path:"/dummy",headers:{}}}getResponse(){return import_core.EmptyResponse}onErrorWhileForwarding(props){props.delegatedResolver.succeed()}}
2
2
  //# sourceMappingURL=dummy.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dummy.adapter.js","sources":["../../../src/adapters/dummy/dummy.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';\nimport { EmptyResponse, IEmptyResponse } from '../../core';\n\n//#endregion\n\n/**\n * The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.\n *\n * @breadcrumb Adapters / DummyAdapter\n * @public\n */\nexport class DummyAdapter implements AdapterContract<any, any, void> {\n /**\n * {@inheritDoc}\n */\n public canHandle(): boolean {\n return true;\n }\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return DummyAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(): AdapterRequest {\n return {\n method: 'POST',\n body: void 0,\n path: '/dummy',\n headers: {},\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse(): IEmptyResponse {\n return EmptyResponse;\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding(props: OnErrorProps<any, void>): void {\n props.delegatedResolver.succeed();\n }\n}\n"],"names":["dummy_adapter_exports","__export","DummyAdapter","__toCommonJS","import_core","props"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,aAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAGA,IAA8CI,EAAA,QAAA,YAAA,EAUvC,MAAMF,CAAwD,CAI5D,WAAqB,CACnB,MAAA,EACT,CAKO,gBAAyB,CAC9B,OAAOA,EAAa,IACtB,CAKO,YAA6B,CAC3B,MAAA,CACL,OAAQ,OACR,KAAM,OACN,KAAM,SACN,QAAS,CAAC,CAAA,CAEd,CAKO,aAA8B,CAC5B,OAAAE,EAAA,aACT,CAKO,uBAAuBC,EAAsC,CAClEA,EAAM,kBAAkB,SAC1B,CACF"}
1
+ {"version":3,"file":"dummy.adapter.js","sources":["../../../src/adapters/dummy/dummy.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport { AdapterContract, AdapterRequest, OnErrorProps } from '../../contracts';\nimport { EmptyResponse, IEmptyResponse } from '../../core';\n\n//#endregion\n\n/**\n * The class that represents a dummy adapter that does nothing and can be used by the cloud that doesn't use adapters.\n *\n * @breadcrumb Adapters / DummyAdapter\n * @public\n */\nexport class DummyAdapter implements AdapterContract<any, any, void> {\n /**\n * {@inheritDoc}\n */\n public canHandle(): boolean {\n return true;\n }\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return DummyAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(): AdapterRequest {\n return {\n method: 'POST',\n body: void 0,\n path: '/dummy',\n headers: {},\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse(): IEmptyResponse {\n return EmptyResponse;\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding(props: OnErrorProps<any, void>): void {\n props.delegatedResolver.succeed();\n }\n}\n"],"names":[],"mappings":"ooBAAA,sBAAA,CAAA,EAAA,SAAA,sBAAA,CAAA,aAAA,IAAA,YAAA,CAAA,EAAA,OAAA,QAAA,aAAA,qBAAA,EAGA,IAA8C,YAAA,QAAA,YAAA,EAUvC,MAAM,YAAwD,CAI5D,WAAqB,CACnB,MAAA,EACT,CAKO,gBAAyB,CAC9B,OAAO,aAAa,IACtB,CAKO,YAA6B,CAC3B,MAAA,CACL,OAAQ,OACR,KAAM,OACN,KAAM,SACN,QAAS,CAAC,CAAA,CAEd,CAKO,aAA8B,CAC5B,OAAA,YAAA,aACT,CAKO,uBAAuB,MAAsC,CAClE,MAAM,kBAAkB,SAC1B,CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './dummy.adapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/dummy/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var _=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,o=(r,e,p,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of s(e))!y.call(r,t)&&t!==p&&_(r,t,{get:()=>e[t],enumerable:!(a=u(e,t))||a.enumerable});return r},O=(r,e,p)=>(o(r,e,"default"),p&&o(p,e,"default")),c=r=>o(_({},"__esModule",{value:!0}),r),n={};module.exports=c(n);O(n,require("./dummy.adapter"),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),dummy_exports={};module.exports=__toCommonJS(dummy_exports);__reExport(dummy_exports,require("./dummy.adapter"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/adapters/dummy/index.ts"],"sourcesContent":["export * from './dummy.adapter';\n"],"names":["dummy_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/adapters/dummy/index.ts"],"sourcesContent":["export * from './dummy.adapter';\n"],"names":[],"mappings":"kqBAAA,cAAA,CAAA,EAAA,OAAA,QAAA,aAAA,aAAA,EAAA,WAAA,cAAc,QAAd,iBAAA,EAAA,OAAA,OAAA"}
@@ -0,0 +1,66 @@
1
+ import { HuaweiApiGatewayEvent, HuaweiApiGatewayResponse, HuaweiContext } from '../../@types/huawei';
2
+ import { AdapterContract, AdapterRequest, GetResponseAdapterProps, OnErrorProps } from '../../contracts';
3
+ /**
4
+ * The options to customize the {@link HuaweiApiGatewayAdapter}
5
+ *
6
+ * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
7
+ * @public
8
+ */
9
+ export interface HuaweiApiGatewayOptions {
10
+ /**
11
+ * Strip base path for custom domains
12
+ *
13
+ * @defaultValue ''
14
+ */
15
+ stripBasePath?: string;
16
+ }
17
+ /**
18
+ * The adapter to handle requests from Huawei Api Gateway
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const stripBasePath = '/any/custom/base/path'; // default ''
23
+ * const adapter = new ApiGatewayAdapter({ stripBasePath });
24
+ * ```
25
+ *
26
+ * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter
27
+ * @public
28
+ *
29
+ * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}
30
+ */
31
+ export declare class HuaweiApiGatewayAdapter implements AdapterContract<HuaweiApiGatewayEvent, HuaweiContext, HuaweiApiGatewayResponse> {
32
+ protected readonly options?: HuaweiApiGatewayOptions | undefined;
33
+ /**
34
+ * Default constructor
35
+ *
36
+ * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}
37
+ */
38
+ constructor(options?: HuaweiApiGatewayOptions | undefined);
39
+ /**
40
+ * {@inheritDoc}
41
+ */
42
+ getAdapterName(): string;
43
+ /**
44
+ * {@inheritDoc}
45
+ */
46
+ canHandle(event: unknown): event is HuaweiApiGatewayEvent;
47
+ /**
48
+ * {@inheritDoc}
49
+ */
50
+ getRequest(event: HuaweiApiGatewayEvent): AdapterRequest;
51
+ /**
52
+ * {@inheritDoc}
53
+ */
54
+ getResponse({ headers: responseHeaders, body, isBase64Encoded, statusCode, }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse;
55
+ /**
56
+ * {@inheritDoc}
57
+ */
58
+ onErrorWhileForwarding({ error, delegatedResolver, respondWithErrors, event, log, }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void;
59
+ /**
60
+ * Get path from event with query strings
61
+ *
62
+ * @param event - The event sent by serverless
63
+ */
64
+ protected getPathFromEvent(event: HuaweiApiGatewayEvent): string;
65
+ }
66
+ //# sourceMappingURL=huawei-api-gateway.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huawei-api-gateway.adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/huawei/huawei-api-gateway.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAWzB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBACX,YACE,eAAe,CACb,qBAAqB,EACrB,aAAa,EACb,wBAAwB,CACzB;IASS,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IALvC;;;;OAIG;gBAC4B,OAAO,CAAC,qCAAyB;IAMhE;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB;IAehE;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,cAAc;IA6B/D;;OAEG;IACI,WAAW,CAAC,EACjB,OAAO,EAAE,eAAe,EACxB,IAAI,EACJ,eAAe,EACf,UAAU,GACX,EAAE,uBAAuB,CAAC,qBAAqB,CAAC,GAAG,wBAAwB;IAW5E;;OAEG;IACI,sBAAsB,CAAC,EAC5B,KAAK,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,EACL,GAAG,GACJ,EAAE,YAAY,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,IAAI;IAkBvE;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM;CAcjE"}
@@ -1,2 +1,2 @@
1
- "use strict";var i=Object.defineProperty,g=Object.getOwnPropertyDescriptor,y=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,_=(o,e)=>{for(var t in e)i(o,t,{get:e[t],enumerable:!0})},P=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of y(e))!l.call(o,r)&&r!==t&&i(o,r,{get:()=>e[r],enumerable:!(a=g(e,r))||a.enumerable});return o},b=o=>P(i({},"__esModule",{value:!0}),o),d={};_(d,{HuaweiApiGatewayAdapter:()=>c});module.exports=b(d);var p=require("../../core");class c{constructor(e){this.options=e}getAdapterName(){return c.name}canHandle(e){const t=e;return!!(t&&t.httpMethod&&t.requestContext&&t.requestContext.apiId&&t.requestContext.stage&&t.requestContext.requestId&&!("multiValueQueryStringParameters"in t))}getRequest(e){const t=e.httpMethod,a=this.getPathFromEvent(e),r=(0,p.getFlattenedHeadersMap)(e.headers,",",!0);let s;if(e.body){const[u,h]=(0,p.getEventBodyAsBuffer)(e.body,e.isBase64Encoded);s=u,r["content-length"]=String(h)}const n=r["x-real-ip"];return{method:t,headers:r,body:s,remoteAddress:n,path:a}}getResponse({headers:e,body:t,isBase64Encoded:a,statusCode:r}){const s=(0,p.getMultiValueHeadersMap)(e);return{statusCode:r,body:t,headers:s,isBase64Encoded:a}}onErrorWhileForwarding({error:e,delegatedResolver:t,respondWithErrors:a,event:r,log:s}){const n=a?e.stack:"",u=this.getResponse({event:r,statusCode:500,body:n||"",headers:{},isBase64Encoded:!1,log:s});t.succeed(u)}getPathFromEvent(e){var n;const t=(0,p.getDefaultIfUndefined)((n=this.options)==null?void 0:n.stripBasePath,""),a=new RegExp(`^${t}`),r=e.path.replace(a,""),s=e.queryStringParameters;return(0,p.getPathWithQueryStringParams)(r,s)}}
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),huawei_api_gateway_adapter_exports={};__export(huawei_api_gateway_adapter_exports,{HuaweiApiGatewayAdapter:()=>HuaweiApiGatewayAdapter});module.exports=__toCommonJS(huawei_api_gateway_adapter_exports);var import_core=require("../../core");class HuaweiApiGatewayAdapter{constructor(options){this.options=options}getAdapterName(){return HuaweiApiGatewayAdapter.name}canHandle(event){const apiGatewayEvent=event;return!!(apiGatewayEvent&&apiGatewayEvent.httpMethod&&apiGatewayEvent.requestContext&&apiGatewayEvent.requestContext.apiId&&apiGatewayEvent.requestContext.stage&&apiGatewayEvent.requestContext.requestId&&!("multiValueQueryStringParameters"in apiGatewayEvent))}getRequest(event){const method=event.httpMethod,path=this.getPathFromEvent(event),headers=(0,import_core.getFlattenedHeadersMap)(event.headers,",",!0);let body;if(event.body){const[bufferBody,contentLength]=(0,import_core.getEventBodyAsBuffer)(event.body,event.isBase64Encoded);body=bufferBody,headers["content-length"]=String(contentLength)}const remoteAddress=headers["x-real-ip"];return{method,headers,body,remoteAddress,path}}getResponse({headers:responseHeaders,body,isBase64Encoded,statusCode}){const headers=(0,import_core.getMultiValueHeadersMap)(responseHeaders);return{statusCode,body,headers,isBase64Encoded}}onErrorWhileForwarding({error,delegatedResolver,respondWithErrors,event,log}){const body=respondWithErrors?error.stack:"",errorResponse=this.getResponse({event,statusCode:500,body:body||"",headers:{},isBase64Encoded:!1,log});delegatedResolver.succeed(errorResponse)}getPathFromEvent(event){var _a;const stripBasePath=(0,import_core.getDefaultIfUndefined)((_a=this.options)==null?void 0:_a.stripBasePath,""),replaceRegex=new RegExp(`^${stripBasePath}`),path=event.path.replace(replaceRegex,""),queryParams=event.queryStringParameters;return(0,import_core.getPathWithQueryStringParams)(path,queryParams)}}
2
2
  //# sourceMappingURL=huawei-api-gateway.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"huawei-api-gateway.adapter.js","sources":["../../../src/adapters/huawei/huawei-api-gateway.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport {\n HuaweiApiGatewayEvent,\n HuaweiApiGatewayResponse,\n HuaweiContext,\n} from '../../@types/huawei';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HuaweiApiGatewayAdapter}\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n */\nexport interface HuaweiApiGatewayOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Huawei Api Gateway\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new ApiGatewayAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n *\n * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}\n */\nexport class HuaweiApiGatewayAdapter\n implements\n AdapterContract<\n HuaweiApiGatewayEvent,\n HuaweiContext,\n HuaweiApiGatewayResponse\n >\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}\n */\n constructor(protected readonly options?: HuaweiApiGatewayOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HuaweiApiGatewayAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is HuaweiApiGatewayEvent {\n const apiGatewayEvent = event as Partial<HuaweiApiGatewayEvent>;\n\n return !!(\n apiGatewayEvent &&\n apiGatewayEvent.httpMethod &&\n apiGatewayEvent.requestContext &&\n apiGatewayEvent.requestContext.apiId &&\n apiGatewayEvent.requestContext.stage &&\n apiGatewayEvent.requestContext.requestId &&\n // to avoid conflict with api gateway v1 of aws\n !('multiValueQueryStringParameters' in apiGatewayEvent)\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HuaweiApiGatewayEvent): AdapterRequest {\n const method = event.httpMethod;\n const path = this.getPathFromEvent(event);\n\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.body,\n event.isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-real-ip'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n isBase64Encoded,\n statusCode,\n }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse {\n const headers = getMultiValueHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HuaweiApiGatewayEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = event.path.replace(replaceRegex, '');\n\n const queryParams = event.queryStringParameters;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n //#endregion\n}\n"],"names":["huawei_api_gateway_adapter_exports","__export","HuaweiApiGatewayAdapter","__toCommonJS","import_core","options","event","apiGatewayEvent","method","path","headers","body","bufferBody","contentLength","remoteAddress","responseHeaders","isBase64Encoded","statusCode","error","delegatedResolver","respondWithErrors","log","errorResponse","stripBasePath","_a","replaceRegex","queryParams"],"mappings":"qZAAAA,EAAA,CAAA,EAAAC,EAAAD,EAAA,CAAA,wBAAA,IAAAE,CAAA,CAAA,EAAA,OAAA,QAAAC,EAAAH,CAAA,EAaA,IAMOI,EAAA,QAAA,YAAA,EAiCA,MAAMF,CAOb,CAQE,YAA+BG,EAAmC,CAAnC,KAAA,QAAAA,CAAoC,CAS5D,gBAAyB,CAC9B,OAAOH,EAAwB,IACjC,CAKO,UAAUI,EAAgD,CAC/D,MAAMC,EAAkBD,EAExB,MAAO,CAAC,EACNC,GACAA,EAAgB,YAChBA,EAAgB,gBAChBA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,OAC/BA,EAAgB,eAAe,WAE/B,EAAE,oCAAqCA,GAE3C,CAKO,WAAWD,EAA8C,CAC9D,MAAME,EAASF,EAAM,WACfG,EAAO,KAAK,iBAAiBH,CAAK,EAElCI,KAAUN,EAAA,wBAAuBE,EAAM,QAAS,IAAK,EAAI,EAE3D,IAAAK,EAEJ,GAAIL,EAAM,KAAM,CACR,KAAA,CAACM,EAAYC,CAAa,KAAIT,EAAA,sBAClCE,EAAM,KACNA,EAAM,eAAA,EAGDK,EAAAC,EACCF,EAAA,gBAAgB,EAAI,OAAOG,CAAa,EAG5C,MAAAC,EAAgBJ,EAAQ,WAAW,EAElC,MAAA,CACL,OAAAF,EACA,QAAAE,EACA,KAAAC,EACA,cAAAG,EACA,KAAAL,CAAA,CAEJ,CAKO,YAAY,CACjB,QAASM,EACT,KAAAJ,EACA,gBAAAK,EACA,WAAAC,CAAA,EAC2E,CACrE,MAAAP,KAAUN,2BAAwBW,CAAe,EAEhD,MAAA,CACL,WAAAE,EACA,KAAAN,EACA,QAAAD,EACA,gBAAAM,CAAA,CAEJ,CAKO,uBAAuB,CAC5B,MAAAE,EACA,kBAAAC,EACA,kBAAAC,EACA,MAAAd,EACA,IAAAe,CAAA,EACsE,CAChE,MAAAV,EAAOS,EAAoBF,EAAM,MAAQ,GACzCI,EAAgB,KAAK,YAAY,CACrC,MAAAhB,EACA,WAAY,IACZ,KAAMK,GAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,IAAAU,CAAA,CACD,EAEDF,EAAkB,QAAQG,CAAa,CACzC,CAWU,iBAAiBhB,EAAsC,OAC/D,MAAMiB,KAAgBnB,EAAA,wBACpBoB,EAAA,KAAK,UAAL,YAAAA,EAAc,cACd,EAAA,EAEIC,EAAe,IAAI,OAAO,IAAIF,GAAe,EAC7Cd,EAAOH,EAAM,KAAK,QAAQmB,EAAc,EAAE,EAE1CC,EAAcpB,EAAM,sBAEnB,SAAAF,EAAA,8BAA6BK,EAAMiB,CAAW,CACvD,CAGF"}
1
+ {"version":3,"file":"huawei-api-gateway.adapter.js","sources":["../../../src/adapters/huawei/huawei-api-gateway.adapter.ts"],"sourcesContent":["//#region Imports\n\nimport {\n HuaweiApiGatewayEvent,\n HuaweiApiGatewayResponse,\n HuaweiContext,\n} from '../../@types/huawei';\nimport {\n AdapterContract,\n AdapterRequest,\n GetResponseAdapterProps,\n OnErrorProps,\n} from '../../contracts';\nimport {\n getDefaultIfUndefined,\n getEventBodyAsBuffer,\n getFlattenedHeadersMap,\n getMultiValueHeadersMap,\n getPathWithQueryStringParams,\n} from '../../core';\n\n//#endregion\n\n/**\n * The options to customize the {@link HuaweiApiGatewayAdapter}\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n */\nexport interface HuaweiApiGatewayOptions {\n /**\n * Strip base path for custom domains\n *\n * @defaultValue ''\n */\n stripBasePath?: string;\n}\n\n/**\n * The adapter to handle requests from Huawei Api Gateway\n *\n * @example\n * ```typescript\n * const stripBasePath = '/any/custom/base/path'; // default ''\n * const adapter = new ApiGatewayAdapter({ stripBasePath });\n * ```\n *\n * @breadcrumb Adapters / Huawei / HuaweiApiGatewayAdapter\n * @public\n *\n * {@link https://support.huaweicloud.com/intl/en-us/devg-functiongraph/functiongraph_02_0102.html#functiongraph_02_0102__li5178638110137 | Event Reference}\n */\nexport class HuaweiApiGatewayAdapter\n implements\n AdapterContract<\n HuaweiApiGatewayEvent,\n HuaweiContext,\n HuaweiApiGatewayResponse\n >\n{\n //#region Constructor\n\n /**\n * Default constructor\n *\n * @param options - The options to customize the {@link HuaweiApiGatewayAdapter}\n */\n constructor(protected readonly options?: HuaweiApiGatewayOptions) {}\n\n //#endregion\n\n //#region Public Methods\n\n /**\n * {@inheritDoc}\n */\n public getAdapterName(): string {\n return HuaweiApiGatewayAdapter.name;\n }\n\n /**\n * {@inheritDoc}\n */\n public canHandle(event: unknown): event is HuaweiApiGatewayEvent {\n const apiGatewayEvent = event as Partial<HuaweiApiGatewayEvent>;\n\n return !!(\n apiGatewayEvent &&\n apiGatewayEvent.httpMethod &&\n apiGatewayEvent.requestContext &&\n apiGatewayEvent.requestContext.apiId &&\n apiGatewayEvent.requestContext.stage &&\n apiGatewayEvent.requestContext.requestId &&\n // to avoid conflict with api gateway v1 of aws\n !('multiValueQueryStringParameters' in apiGatewayEvent)\n );\n }\n\n /**\n * {@inheritDoc}\n */\n public getRequest(event: HuaweiApiGatewayEvent): AdapterRequest {\n const method = event.httpMethod;\n const path = this.getPathFromEvent(event);\n\n const headers = getFlattenedHeadersMap(event.headers, ',', true);\n\n let body: Buffer | undefined;\n\n if (event.body) {\n const [bufferBody, contentLength] = getEventBodyAsBuffer(\n event.body,\n event.isBase64Encoded,\n );\n\n body = bufferBody;\n headers['content-length'] = String(contentLength);\n }\n\n const remoteAddress = headers['x-real-ip'];\n\n return {\n method,\n headers,\n body,\n remoteAddress,\n path,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public getResponse({\n headers: responseHeaders,\n body,\n isBase64Encoded,\n statusCode,\n }: GetResponseAdapterProps<HuaweiApiGatewayEvent>): HuaweiApiGatewayResponse {\n const headers = getMultiValueHeadersMap(responseHeaders);\n\n return {\n statusCode,\n body,\n headers,\n isBase64Encoded,\n };\n }\n\n /**\n * {@inheritDoc}\n */\n public onErrorWhileForwarding({\n error,\n delegatedResolver,\n respondWithErrors,\n event,\n log,\n }: OnErrorProps<HuaweiApiGatewayEvent, HuaweiApiGatewayResponse>): void {\n const body = respondWithErrors ? error.stack : '';\n const errorResponse = this.getResponse({\n event,\n statusCode: 500,\n body: body || '',\n headers: {},\n isBase64Encoded: false,\n log,\n });\n\n delegatedResolver.succeed(errorResponse);\n }\n\n //#endregion\n\n //#region Protected Methods\n\n /**\n * Get path from event with query strings\n *\n * @param event - The event sent by serverless\n */\n protected getPathFromEvent(event: HuaweiApiGatewayEvent): string {\n const stripBasePath = getDefaultIfUndefined(\n this.options?.stripBasePath,\n '',\n );\n const replaceRegex = new RegExp(`^${stripBasePath}`);\n const path = event.path.replace(replaceRegex, '');\n\n const queryParams = event.queryStringParameters;\n\n return getPathWithQueryStringParams(path, queryParams);\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"ooBAAA,mCAAA,CAAA,EAAA,SAAA,mCAAA,CAAA,wBAAA,IAAA,uBAAA,CAAA,EAAA,OAAA,QAAA,aAAA,kCAAA,EAaA,IAMO,YAAA,QAAA,YAAA,EAiCA,MAAM,uBAOb,CAQE,YAA+B,QAAmC,CAAnC,KAAA,QAAA,OAAoC,CAS5D,gBAAyB,CAC9B,OAAO,wBAAwB,IACjC,CAKO,UAAU,MAAgD,CAC/D,MAAM,gBAAkB,MAExB,MAAO,CAAC,EACN,iBACA,gBAAgB,YAChB,gBAAgB,gBAChB,gBAAgB,eAAe,OAC/B,gBAAgB,eAAe,OAC/B,gBAAgB,eAAe,WAE/B,EAAE,oCAAqC,iBAE3C,CAKO,WAAW,MAA8C,CAC9D,MAAM,OAAS,MAAM,WACf,KAAO,KAAK,iBAAiB,KAAK,EAElC,WAAU,YAAA,wBAAuB,MAAM,QAAS,IAAK,EAAI,EAE3D,IAAA,KAEJ,GAAI,MAAM,KAAM,CACR,KAAA,CAAC,WAAY,aAAa,KAAI,YAAA,sBAClC,MAAM,KACN,MAAM,eAAA,EAGD,KAAA,WACC,QAAA,gBAAgB,EAAI,OAAO,aAAa,CAClD,CAEM,MAAA,cAAgB,QAAQ,WAAW,EAElC,MAAA,CACL,OACA,QACA,KACA,cACA,IAAA,CAEJ,CAKO,YAAY,CACjB,QAAS,gBACT,KACA,gBACA,UAAA,EAC2E,CACrE,MAAA,WAAU,qCAAwB,eAAe,EAEhD,MAAA,CACL,WACA,KACA,QACA,eAAA,CAEJ,CAKO,uBAAuB,CAC5B,MACA,kBACA,kBACA,MACA,GAAA,EACsE,CAChE,MAAA,KAAO,kBAAoB,MAAM,MAAQ,GACzC,cAAgB,KAAK,YAAY,CACrC,MACA,WAAY,IACZ,KAAM,MAAQ,GACd,QAAS,CAAC,EACV,gBAAiB,GACjB,GAAA,CACD,EAED,kBAAkB,QAAQ,aAAa,CACzC,CAWU,iBAAiB,MAAsC,QAC/D,MAAM,iBAAgB,YAAA,wBACpB,QAAK,UAAL,eAAc,cACd,EAAA,EAEI,aAAe,IAAI,OAAO,IAAI,aAAa,EAAE,EAC7C,KAAO,MAAM,KAAK,QAAQ,aAAc,EAAE,EAE1C,YAAc,MAAM,sBAEnB,SAAA,YAAA,8BAA6B,KAAM,WAAW,CACvD,CAGF"}
@@ -0,0 +1,2 @@
1
+ export * from './huawei-api-gateway.adapter';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/huawei/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,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("./huawei-api-gateway.adapter"),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),huawei_exports={};module.exports=__toCommonJS(huawei_exports);__reExport(huawei_exports,require("./huawei-api-gateway.adapter"),module.exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/adapters/huawei/index.ts"],"sourcesContent":["export * from './huawei-api-gateway.adapter';\n"],"names":["huawei_exports","__toCommonJS","__reExport"],"mappings":"6YAAAA,EAAA,CAAA,EAAA,OAAA,QAAAC,EAAAD,CAAA,EAAAE,EAAAF,EAAc,QAAd,8BAAA,EAAA,OAAA,OAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/adapters/huawei/index.ts"],"sourcesContent":["export * from './huawei-api-gateway.adapter';\n"],"names":[],"mappings":"kqBAAA,eAAA,CAAA,EAAA,OAAA,QAAA,aAAA,cAAA,EAAA,WAAA,eAAc,QAAd,8BAAA,EAAA,OAAA,OAAA"}