@bitblit/ratchet-epsilon-common 4.0.419-alpha → 4.0.421-alpha

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 (456) hide show
  1. package/lib/background/background-dynamo-log-table-handler.d.ts +11 -0
  2. package/lib/background/background-dynamo-log-table-handler.js +38 -0
  3. package/lib/background/background-dynamo-log-table-handler.js.map +1 -0
  4. package/lib/background/background-entry.d.ts +4 -0
  5. package/lib/background/background-entry.js +2 -0
  6. package/lib/background/background-entry.js.map +1 -0
  7. package/lib/background/background-execution-event-type.d.ts +8 -0
  8. package/lib/background/background-execution-event-type.js +8 -0
  9. package/lib/background/background-execution-event-type.js.map +1 -0
  10. package/lib/background/background-execution-event.d.ts +8 -0
  11. package/lib/background/background-execution-event.js +2 -0
  12. package/lib/background/background-execution-event.js.map +1 -0
  13. package/lib/background/background-execution-listener.d.ts +5 -0
  14. package/lib/background/background-execution-listener.js +2 -0
  15. package/lib/background/background-execution-listener.js.map +1 -0
  16. package/lib/background/background-handler.d.ts +29 -0
  17. package/lib/background/background-handler.js +280 -0
  18. package/lib/background/background-handler.js.map +1 -0
  19. package/lib/background/background-http-adapter-handler.d.ts +22 -0
  20. package/lib/background/background-http-adapter-handler.js +129 -0
  21. package/lib/background/background-http-adapter-handler.js.map +1 -0
  22. package/lib/background/background-meta-response-internal.d.ts +5 -0
  23. package/lib/background/background-meta-response-internal.js +2 -0
  24. package/lib/background/background-meta-response-internal.js.map +1 -0
  25. package/lib/background/background-process-handling.d.ts +5 -0
  26. package/lib/background/background-process-handling.js +5 -0
  27. package/lib/background/background-process-handling.js.map +1 -0
  28. package/lib/background/background-process-log-table-entry.d.ts +11 -0
  29. package/lib/background/background-process-log-table-entry.js +2 -0
  30. package/lib/background/background-process-log-table-entry.js.map +1 -0
  31. package/lib/background/background-queue-response-internal.d.ts +8 -0
  32. package/lib/background/background-queue-response-internal.js +2 -0
  33. package/lib/background/background-queue-response-internal.js.map +1 -0
  34. package/lib/background/background-validator.d.ts +17 -0
  35. package/lib/background/background-validator.js +87 -0
  36. package/lib/background/background-validator.js.map +1 -0
  37. package/lib/background/epsilon-background-process-error.d.ts +30 -0
  38. package/lib/background/epsilon-background-process-error.js +94 -0
  39. package/lib/background/epsilon-background-process-error.js.map +1 -0
  40. package/lib/background/index.d.ts +20 -0
  41. package/lib/background/index.js +21 -0
  42. package/lib/background/index.js.map +1 -0
  43. package/lib/background/internal-background-entry.d.ts +8 -0
  44. package/lib/background/internal-background-entry.js +2 -0
  45. package/lib/background/internal-background-entry.js.map +1 -0
  46. package/lib/background/manager/abstract-background-manager.d.ts +19 -0
  47. package/lib/background/manager/abstract-background-manager.js +90 -0
  48. package/lib/background/manager/abstract-background-manager.js.map +1 -0
  49. package/lib/background/manager/aws-large-payload-s3-sqs-sns-background-manager.d.ts +19 -0
  50. package/lib/background/manager/aws-large-payload-s3-sqs-sns-background-manager.js +58 -0
  51. package/lib/background/manager/aws-large-payload-s3-sqs-sns-background-manager.js.map +1 -0
  52. package/lib/background/manager/aws-sqs-sns-background-manager.d.ts +23 -0
  53. package/lib/background/manager/aws-sqs-sns-background-manager.js +154 -0
  54. package/lib/background/manager/aws-sqs-sns-background-manager.js.map +1 -0
  55. package/lib/background/manager/background-manager-like.d.ts +18 -0
  56. package/lib/background/manager/background-manager-like.js +2 -0
  57. package/lib/background/manager/background-manager-like.js.map +1 -0
  58. package/lib/background/manager/single-thread-local-background-manager.d.ts +15 -0
  59. package/lib/background/manager/single-thread-local-background-manager.js +46 -0
  60. package/lib/background/manager/single-thread-local-background-manager.js.map +1 -0
  61. package/lib/background/s3-background-transaction-logger.d.ts +17 -0
  62. package/lib/background/s3-background-transaction-logger.js +53 -0
  63. package/lib/background/s3-background-transaction-logger.js.map +1 -0
  64. package/lib/build/index.d.ts +1 -0
  65. package/lib/build/index.js +2 -0
  66. package/lib/build/index.js.map +1 -0
  67. package/lib/build/ratchet-epsilon-common-info.d.ts +5 -0
  68. package/lib/build/ratchet-epsilon-common-info.js +15 -0
  69. package/lib/build/ratchet-epsilon-common-info.js.map +1 -0
  70. package/lib/built-in/background/echo-processor.d.ts +7 -0
  71. package/lib/built-in/background/echo-processor.js +16 -0
  72. package/lib/built-in/background/echo-processor.js.map +1 -0
  73. package/lib/built-in/background/log-and-enqueue-echo-processor.d.ts +6 -0
  74. package/lib/built-in/background/log-and-enqueue-echo-processor.js +13 -0
  75. package/lib/built-in/background/log-and-enqueue-echo-processor.js.map +1 -0
  76. package/lib/built-in/background/log-message-background-error-processor.d.ts +5 -0
  77. package/lib/built-in/background/log-message-background-error-processor.js +7 -0
  78. package/lib/built-in/background/log-message-background-error-processor.js.map +1 -0
  79. package/lib/built-in/background/no-op-processor.d.ts +6 -0
  80. package/lib/built-in/background/no-op-processor.js +10 -0
  81. package/lib/built-in/background/no-op-processor.js.map +1 -0
  82. package/lib/built-in/background/retry-processor.d.ts +16 -0
  83. package/lib/built-in/background/retry-processor.js +41 -0
  84. package/lib/built-in/background/retry-processor.js.map +1 -0
  85. package/lib/built-in/background/sample-delay-processor.d.ts +6 -0
  86. package/lib/built-in/background/sample-delay-processor.js +14 -0
  87. package/lib/built-in/background/sample-delay-processor.js.map +1 -0
  88. package/lib/built-in/background/sample-input-validated-processor-data.d.ts +4 -0
  89. package/lib/built-in/background/sample-input-validated-processor-data.js +2 -0
  90. package/lib/built-in/background/sample-input-validated-processor-data.js.map +1 -0
  91. package/lib/built-in/background/sample-input-validated-processor.d.ts +8 -0
  92. package/lib/built-in/background/sample-input-validated-processor.js +13 -0
  93. package/lib/built-in/background/sample-input-validated-processor.js.map +1 -0
  94. package/lib/built-in/built-in-trace-id-generators.d.ts +5 -0
  95. package/lib/built-in/built-in-trace-id-generators.js +20 -0
  96. package/lib/built-in/built-in-trace-id-generators.js.map +1 -0
  97. package/lib/built-in/daemon/daemon-authorizer-function.d.ts +3 -0
  98. package/lib/built-in/daemon/daemon-authorizer-function.js +2 -0
  99. package/lib/built-in/daemon/daemon-authorizer-function.js.map +1 -0
  100. package/lib/built-in/daemon/daemon-config.d.ts +8 -0
  101. package/lib/built-in/daemon/daemon-config.js +2 -0
  102. package/lib/built-in/daemon/daemon-config.js.map +1 -0
  103. package/lib/built-in/daemon/daemon-group-selection-function.d.ts +2 -0
  104. package/lib/built-in/daemon/daemon-group-selection-function.js +2 -0
  105. package/lib/built-in/daemon/daemon-group-selection-function.js.map +1 -0
  106. package/lib/built-in/daemon/daemon-handler.d.ts +16 -0
  107. package/lib/built-in/daemon/daemon-handler.js +60 -0
  108. package/lib/built-in/daemon/daemon-handler.js.map +1 -0
  109. package/lib/built-in/daemon/daemon-process-state-list.d.ts +5 -0
  110. package/lib/built-in/daemon/daemon-process-state-list.js +2 -0
  111. package/lib/built-in/daemon/daemon-process-state-list.js.map +1 -0
  112. package/lib/built-in/http/apollo/apollo-util.d.ts +10 -0
  113. package/lib/built-in/http/apollo/apollo-util.js +37 -0
  114. package/lib/built-in/http/apollo/apollo-util.js.map +1 -0
  115. package/lib/built-in/http/apollo/default-epsilon-apollo-context.d.ts +10 -0
  116. package/lib/built-in/http/apollo/default-epsilon-apollo-context.js +2 -0
  117. package/lib/built-in/http/apollo/default-epsilon-apollo-context.js.map +1 -0
  118. package/lib/built-in/http/apollo/epsilon-apollo-cors-method.d.ts +6 -0
  119. package/lib/built-in/http/apollo/epsilon-apollo-cors-method.js +6 -0
  120. package/lib/built-in/http/apollo/epsilon-apollo-cors-method.js.map +1 -0
  121. package/lib/built-in/http/apollo/epsilon-lambda-apollo-context-function-argument.d.ts +5 -0
  122. package/lib/built-in/http/apollo/epsilon-lambda-apollo-context-function-argument.js +2 -0
  123. package/lib/built-in/http/apollo/epsilon-lambda-apollo-context-function-argument.js.map +1 -0
  124. package/lib/built-in/http/apollo/epsilon-lambda-apollo-options.d.ts +10 -0
  125. package/lib/built-in/http/apollo/epsilon-lambda-apollo-options.js +2 -0
  126. package/lib/built-in/http/apollo/epsilon-lambda-apollo-options.js.map +1 -0
  127. package/lib/built-in/http/apollo-filter.d.ts +10 -0
  128. package/lib/built-in/http/apollo-filter.js +111 -0
  129. package/lib/built-in/http/apollo-filter.js.map +1 -0
  130. package/lib/built-in/http/built-in-auth-filters.d.ts +9 -0
  131. package/lib/built-in/http/built-in-auth-filters.js +108 -0
  132. package/lib/built-in/http/built-in-auth-filters.js.map +1 -0
  133. package/lib/built-in/http/built-in-authorizers.d.ts +8 -0
  134. package/lib/built-in/http/built-in-authorizers.js +40 -0
  135. package/lib/built-in/http/built-in-authorizers.js.map +1 -0
  136. package/lib/built-in/http/built-in-filters.d.ts +26 -0
  137. package/lib/built-in/http/built-in-filters.js +212 -0
  138. package/lib/built-in/http/built-in-filters.js.map +1 -0
  139. package/lib/built-in/http/built-in-handlers.d.ts +9 -0
  140. package/lib/built-in/http/built-in-handlers.js +70 -0
  141. package/lib/built-in/http/built-in-handlers.js.map +1 -0
  142. package/lib/built-in/http/log-level-manipulation-filter.d.ts +6 -0
  143. package/lib/built-in/http/log-level-manipulation-filter.js +17 -0
  144. package/lib/built-in/http/log-level-manipulation-filter.js.map +1 -0
  145. package/lib/built-in/http/run-handler-as-filter.d.ts +14 -0
  146. package/lib/built-in/http/run-handler-as-filter.js +79 -0
  147. package/lib/built-in/http/run-handler-as-filter.js.map +1 -0
  148. package/lib/built-in/index.d.ts +26 -0
  149. package/lib/built-in/index.js +27 -0
  150. package/lib/built-in/index.js.map +1 -0
  151. package/lib/cli/index.d.ts +2 -0
  152. package/lib/cli/index.js +3 -0
  153. package/lib/cli/index.js.map +1 -0
  154. package/lib/cli/ratchet-cli-handler.d.ts +6 -0
  155. package/lib/cli/ratchet-cli-handler.js +21 -0
  156. package/lib/cli/ratchet-cli-handler.js.map +1 -0
  157. package/lib/cli/run-background-process-from-command-line.d.ts +3 -0
  158. package/lib/cli/run-background-process-from-command-line.js +23 -0
  159. package/lib/cli/run-background-process-from-command-line.js.map +1 -0
  160. package/lib/config/background/background-aws-config.d.ts +7 -0
  161. package/lib/config/background/background-aws-config.js +2 -0
  162. package/lib/config/background/background-aws-config.js.map +1 -0
  163. package/lib/config/background/background-config.d.ts +14 -0
  164. package/lib/config/background/background-config.js +2 -0
  165. package/lib/config/background/background-config.js.map +1 -0
  166. package/lib/config/background/background-error-processor.d.ts +4 -0
  167. package/lib/config/background/background-error-processor.js +2 -0
  168. package/lib/config/background/background-error-processor.js.map +1 -0
  169. package/lib/config/background/background-processor.d.ts +6 -0
  170. package/lib/config/background/background-processor.js +2 -0
  171. package/lib/config/background/background-processor.js.map +1 -0
  172. package/lib/config/background/background-transaction-log.d.ts +8 -0
  173. package/lib/config/background/background-transaction-log.js +2 -0
  174. package/lib/config/background/background-transaction-log.js.map +1 -0
  175. package/lib/config/background/background-transaction-logger.d.ts +5 -0
  176. package/lib/config/background/background-transaction-logger.js +2 -0
  177. package/lib/config/background/background-transaction-logger.js.map +1 -0
  178. package/lib/config/cron/abstract-cron-entry.d.ts +12 -0
  179. package/lib/config/cron/abstract-cron-entry.js +2 -0
  180. package/lib/config/cron/abstract-cron-entry.js.map +1 -0
  181. package/lib/config/cron/cron-background-entry.d.ts +6 -0
  182. package/lib/config/cron/cron-background-entry.js +2 -0
  183. package/lib/config/cron/cron-background-entry.js.map +1 -0
  184. package/lib/config/cron/cron-config.d.ts +6 -0
  185. package/lib/config/cron/cron-config.js +2 -0
  186. package/lib/config/cron/cron-config.js.map +1 -0
  187. package/lib/config/dynamo-db-config.d.ts +5 -0
  188. package/lib/config/dynamo-db-config.js +2 -0
  189. package/lib/config/dynamo-db-config.js.map +1 -0
  190. package/lib/config/epsilon-config.d.ts +24 -0
  191. package/lib/config/epsilon-config.js +2 -0
  192. package/lib/config/epsilon-config.js.map +1 -0
  193. package/lib/config/epsilon-lambda-event-handler.d.ts +7 -0
  194. package/lib/config/epsilon-lambda-event-handler.js +2 -0
  195. package/lib/config/epsilon-lambda-event-handler.js.map +1 -0
  196. package/lib/config/epsilon-logger-config.d.ts +13 -0
  197. package/lib/config/epsilon-logger-config.js +2 -0
  198. package/lib/config/epsilon-logger-config.js.map +1 -0
  199. package/lib/config/generic-aws-event-handler-function.d.ts +1 -0
  200. package/lib/config/generic-aws-event-handler-function.js +2 -0
  201. package/lib/config/generic-aws-event-handler-function.js.map +1 -0
  202. package/lib/config/http/authorizer-function.d.ts +4 -0
  203. package/lib/config/http/authorizer-function.js +2 -0
  204. package/lib/config/http/authorizer-function.js.map +1 -0
  205. package/lib/config/http/epsilon-authorization-context.d.ts +5 -0
  206. package/lib/config/http/epsilon-authorization-context.js +2 -0
  207. package/lib/config/http/epsilon-authorization-context.js.map +1 -0
  208. package/lib/config/http/extended-api-gateway-event.d.ts +7 -0
  209. package/lib/config/http/extended-api-gateway-event.js +2 -0
  210. package/lib/config/http/extended-api-gateway-event.js.map +1 -0
  211. package/lib/config/http/filter-chain-context.d.ts +14 -0
  212. package/lib/config/http/filter-chain-context.js +2 -0
  213. package/lib/config/http/filter-chain-context.js.map +1 -0
  214. package/lib/config/http/filter-function.d.ts +2 -0
  215. package/lib/config/http/filter-function.js +2 -0
  216. package/lib/config/http/filter-function.js.map +1 -0
  217. package/lib/config/http/handler-function.d.ts +3 -0
  218. package/lib/config/http/handler-function.js +2 -0
  219. package/lib/config/http/handler-function.js.map +1 -0
  220. package/lib/config/http/http-config.d.ts +15 -0
  221. package/lib/config/http/http-config.js +2 -0
  222. package/lib/config/http/http-config.js.map +1 -0
  223. package/lib/config/http/http-processing-config.d.ts +11 -0
  224. package/lib/config/http/http-processing-config.js +2 -0
  225. package/lib/config/http/http-processing-config.js.map +1 -0
  226. package/lib/config/http/mapped-http-processing-config.d.ts +7 -0
  227. package/lib/config/http/mapped-http-processing-config.js +2 -0
  228. package/lib/config/http/mapped-http-processing-config.js.map +1 -0
  229. package/lib/config/http/null-returned-object-handling.d.ts +6 -0
  230. package/lib/config/http/null-returned-object-handling.js +6 -0
  231. package/lib/config/http/null-returned-object-handling.js.map +1 -0
  232. package/lib/config/index.d.ts +35 -0
  233. package/lib/config/index.js +36 -0
  234. package/lib/config/index.js.map +1 -0
  235. package/lib/config/inter-api/inter-api-aws-config.d.ts +5 -0
  236. package/lib/config/inter-api/inter-api-aws-config.js +2 -0
  237. package/lib/config/inter-api/inter-api-aws-config.js.map +1 -0
  238. package/lib/config/inter-api/inter-api-config.d.ts +6 -0
  239. package/lib/config/inter-api/inter-api-config.js +2 -0
  240. package/lib/config/inter-api/inter-api-config.js.map +1 -0
  241. package/lib/config/inter-api/inter-api-process-mapping.d.ts +6 -0
  242. package/lib/config/inter-api/inter-api-process-mapping.js +2 -0
  243. package/lib/config/inter-api/inter-api-process-mapping.js.map +1 -0
  244. package/lib/config/logging-trace-id-generator.d.ts +2 -0
  245. package/lib/config/logging-trace-id-generator.js +2 -0
  246. package/lib/config/logging-trace-id-generator.js.map +1 -0
  247. package/lib/config/no-handlers-found-error.d.ts +3 -0
  248. package/lib/config/no-handlers-found-error.js +7 -0
  249. package/lib/config/no-handlers-found-error.js.map +1 -0
  250. package/lib/config/open-api/open-api-document-components.d.ts +4 -0
  251. package/lib/config/open-api/open-api-document-components.js +2 -0
  252. package/lib/config/open-api/open-api-document-components.js.map +1 -0
  253. package/lib/config/open-api/open-api-document-path.d.ts +2 -0
  254. package/lib/config/open-api/open-api-document-path.js +2 -0
  255. package/lib/config/open-api/open-api-document-path.js.map +1 -0
  256. package/lib/config/open-api/open-api-document.d.ts +6 -0
  257. package/lib/config/open-api/open-api-document.js +2 -0
  258. package/lib/config/open-api/open-api-document.js.map +1 -0
  259. package/lib/config/s3-config.d.ts +6 -0
  260. package/lib/config/s3-config.js +2 -0
  261. package/lib/config/s3-config.js.map +1 -0
  262. package/lib/config/sns-config.d.ts +5 -0
  263. package/lib/config/sns-config.js +2 -0
  264. package/lib/config/sns-config.js.map +1 -0
  265. package/lib/config/sqs-config.d.ts +5 -0
  266. package/lib/config/sqs-config.js +2 -0
  267. package/lib/config/sqs-config.js.map +1 -0
  268. package/lib/epsilon-build-properties.d.ts +9 -0
  269. package/lib/epsilon-build-properties.js +25 -0
  270. package/lib/epsilon-build-properties.js.map +1 -0
  271. package/lib/epsilon-constants.d.ts +16 -0
  272. package/lib/epsilon-constants.js +47 -0
  273. package/lib/epsilon-constants.js.map +1 -0
  274. package/lib/epsilon-global-handler.d.ts +20 -0
  275. package/lib/epsilon-global-handler.js +177 -0
  276. package/lib/epsilon-global-handler.js.map +1 -0
  277. package/lib/epsilon-instance.d.ts +14 -0
  278. package/lib/epsilon-instance.js +2 -0
  279. package/lib/epsilon-instance.js.map +1 -0
  280. package/lib/epsilon-logging-extension-processor.d.ts +6 -0
  281. package/lib/epsilon-logging-extension-processor.js +16 -0
  282. package/lib/epsilon-logging-extension-processor.js.map +1 -0
  283. package/lib/http/auth/api-gateway-adapter-authentication-handler.d.ts +8 -0
  284. package/lib/http/auth/api-gateway-adapter-authentication-handler.js +73 -0
  285. package/lib/http/auth/api-gateway-adapter-authentication-handler.js.map +1 -0
  286. package/lib/http/auth/auth0-web-token-manipulator.d.ts +13 -0
  287. package/lib/http/auth/auth0-web-token-manipulator.js +62 -0
  288. package/lib/http/auth/auth0-web-token-manipulator.js.map +1 -0
  289. package/lib/http/auth/basic-auth-token.d.ts +4 -0
  290. package/lib/http/auth/basic-auth-token.js +2 -0
  291. package/lib/http/auth/basic-auth-token.js.map +1 -0
  292. package/lib/http/auth/google-web-token-manipulator.d.ts +14 -0
  293. package/lib/http/auth/google-web-token-manipulator.js +71 -0
  294. package/lib/http/auth/google-web-token-manipulator.js.map +1 -0
  295. package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +11 -0
  296. package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js +27 -0
  297. package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js.map +1 -0
  298. package/lib/http/auth/local-web-token-manipulator.d.ts +19 -0
  299. package/lib/http/auth/local-web-token-manipulator.js +83 -0
  300. package/lib/http/auth/local-web-token-manipulator.js.map +1 -0
  301. package/lib/http/auth/web-token-manipulator.d.ts +4 -0
  302. package/lib/http/auth/web-token-manipulator.js +2 -0
  303. package/lib/http/auth/web-token-manipulator.js.map +1 -0
  304. package/lib/http/error/bad-gateway.d.ts +5 -0
  305. package/lib/http/error/bad-gateway.js +10 -0
  306. package/lib/http/error/bad-gateway.js.map +1 -0
  307. package/lib/http/error/bad-request-error.d.ts +5 -0
  308. package/lib/http/error/bad-request-error.js +10 -0
  309. package/lib/http/error/bad-request-error.js.map +1 -0
  310. package/lib/http/error/conflict-error.d.ts +5 -0
  311. package/lib/http/error/conflict-error.js +10 -0
  312. package/lib/http/error/conflict-error.js.map +1 -0
  313. package/lib/http/error/forbidden-error.d.ts +5 -0
  314. package/lib/http/error/forbidden-error.js +10 -0
  315. package/lib/http/error/forbidden-error.js.map +1 -0
  316. package/lib/http/error/gateway-timeout.d.ts +5 -0
  317. package/lib/http/error/gateway-timeout.js +10 -0
  318. package/lib/http/error/gateway-timeout.js.map +1 -0
  319. package/lib/http/error/method-not-allowed-error.d.ts +5 -0
  320. package/lib/http/error/method-not-allowed-error.js +10 -0
  321. package/lib/http/error/method-not-allowed-error.js.map +1 -0
  322. package/lib/http/error/misconfigured-error.d.ts +5 -0
  323. package/lib/http/error/misconfigured-error.js +10 -0
  324. package/lib/http/error/misconfigured-error.js.map +1 -0
  325. package/lib/http/error/not-found-error.d.ts +5 -0
  326. package/lib/http/error/not-found-error.js +10 -0
  327. package/lib/http/error/not-found-error.js.map +1 -0
  328. package/lib/http/error/not-implemented.d.ts +5 -0
  329. package/lib/http/error/not-implemented.js +10 -0
  330. package/lib/http/error/not-implemented.js.map +1 -0
  331. package/lib/http/error/request-timeout-error.d.ts +5 -0
  332. package/lib/http/error/request-timeout-error.js +10 -0
  333. package/lib/http/error/request-timeout-error.js.map +1 -0
  334. package/lib/http/error/service-unavailable.d.ts +5 -0
  335. package/lib/http/error/service-unavailable.js +10 -0
  336. package/lib/http/error/service-unavailable.js.map +1 -0
  337. package/lib/http/error/too-many-requests-error.d.ts +5 -0
  338. package/lib/http/error/too-many-requests-error.js +10 -0
  339. package/lib/http/error/too-many-requests-error.js.map +1 -0
  340. package/lib/http/error/unauthorized-error.d.ts +5 -0
  341. package/lib/http/error/unauthorized-error.js +10 -0
  342. package/lib/http/error/unauthorized-error.js.map +1 -0
  343. package/lib/http/event-util.d.ts +27 -0
  344. package/lib/http/event-util.js +209 -0
  345. package/lib/http/event-util.js.map +1 -0
  346. package/lib/http/index.d.ts +29 -0
  347. package/lib/http/index.js +30 -0
  348. package/lib/http/index.js.map +1 -0
  349. package/lib/http/response-util.d.ts +10 -0
  350. package/lib/http/response-util.js +142 -0
  351. package/lib/http/response-util.js.map +1 -0
  352. package/lib/http/route/epsilon-router.d.ts +8 -0
  353. package/lib/http/route/epsilon-router.js +2 -0
  354. package/lib/http/route/epsilon-router.js.map +1 -0
  355. package/lib/http/route/extended-auth-response-context.d.ts +6 -0
  356. package/lib/http/route/extended-auth-response-context.js +2 -0
  357. package/lib/http/route/extended-auth-response-context.js.map +1 -0
  358. package/lib/http/route/route-mapping.d.ts +12 -0
  359. package/lib/http/route/route-mapping.js +2 -0
  360. package/lib/http/route/route-mapping.js.map +1 -0
  361. package/lib/http/route/route-validator-config.d.ts +5 -0
  362. package/lib/http/route/route-validator-config.js +2 -0
  363. package/lib/http/route/route-validator-config.js.map +1 -0
  364. package/lib/http/route/router-util.d.ts +23 -0
  365. package/lib/http/route/router-util.js +234 -0
  366. package/lib/http/route/router-util.js.map +1 -0
  367. package/lib/http/web-handler.d.ts +23 -0
  368. package/lib/http/web-handler.js +118 -0
  369. package/lib/http/web-handler.js.map +1 -0
  370. package/lib/http/web-v2-handler.d.ts +10 -0
  371. package/lib/http/web-v2-handler.js +23 -0
  372. package/lib/http/web-v2-handler.js.map +1 -0
  373. package/lib/inter-api/index.d.ts +2 -0
  374. package/lib/inter-api/index.js +3 -0
  375. package/lib/inter-api/index.js.map +1 -0
  376. package/lib/inter-api/inter-api-entry.d.ts +7 -0
  377. package/lib/inter-api/inter-api-entry.js +2 -0
  378. package/lib/inter-api/inter-api-entry.js.map +1 -0
  379. package/lib/inter-api/inter-api-util.d.ts +10 -0
  380. package/lib/inter-api/inter-api-util.js +60 -0
  381. package/lib/inter-api/inter-api-util.js.map +1 -0
  382. package/lib/inter-api-manager.d.ts +14 -0
  383. package/lib/inter-api-manager.js +66 -0
  384. package/lib/inter-api-manager.js.map +1 -0
  385. package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.d.ts +14 -0
  386. package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js +74 -0
  387. package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js.map +1 -0
  388. package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.d.ts +11 -0
  389. package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +36 -0
  390. package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js.map +1 -0
  391. package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.d.ts +10 -0
  392. package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +32 -0
  393. package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js.map +1 -0
  394. package/lib/lambda-event-handler/generic-sqs-epsilon-lambda-event-handler.d.ts +11 -0
  395. package/lib/lambda-event-handler/generic-sqs-epsilon-lambda-event-handler.js +36 -0
  396. package/lib/lambda-event-handler/generic-sqs-epsilon-lambda-event-handler.js.map +1 -0
  397. package/lib/lambda-event-handler/index.d.ts +6 -0
  398. package/lib/lambda-event-handler/index.js +7 -0
  399. package/lib/lambda-event-handler/index.js.map +1 -0
  400. package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.d.ts +10 -0
  401. package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +24 -0
  402. package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js.map +1 -0
  403. package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.d.ts +10 -0
  404. package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js +42 -0
  405. package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js.map +1 -0
  406. package/lib/local-container-server.d.ts +11 -0
  407. package/lib/local-container-server.js +85 -0
  408. package/lib/local-container-server.js.map +1 -0
  409. package/lib/local-server-cert.d.ts +5 -0
  410. package/lib/local-server-cert.js +68 -0
  411. package/lib/local-server-cert.js.map +1 -0
  412. package/lib/local-server.d.ts +19 -0
  413. package/lib/local-server.js +203 -0
  414. package/lib/local-server.js.map +1 -0
  415. package/lib/open-api-util/index.d.ts +3 -0
  416. package/lib/open-api-util/index.js +4 -0
  417. package/lib/open-api-util/index.js.map +1 -0
  418. package/lib/open-api-util/open-api-doc-modifications.d.ts +8 -0
  419. package/lib/open-api-util/open-api-doc-modifications.js +2 -0
  420. package/lib/open-api-util/open-api-doc-modifications.js.map +1 -0
  421. package/lib/open-api-util/open-api-doc-modifier.d.ts +7 -0
  422. package/lib/open-api-util/open-api-doc-modifier.js +80 -0
  423. package/lib/open-api-util/open-api-doc-modifier.js.map +1 -0
  424. package/lib/open-api-util/yaml-combiner.d.ts +3 -0
  425. package/lib/open-api-util/yaml-combiner.js +28 -0
  426. package/lib/open-api-util/yaml-combiner.js.map +1 -0
  427. package/lib/sample/index.d.ts +3 -0
  428. package/lib/sample/index.js +4 -0
  429. package/lib/sample/index.js.map +1 -0
  430. package/lib/sample/sample-server-components.d.ts +10 -0
  431. package/lib/sample/sample-server-components.js +181 -0
  432. package/lib/sample/sample-server-components.js.map +1 -0
  433. package/lib/sample/sample-server-static-files.d.ts +5 -0
  434. package/lib/sample/sample-server-static-files.js +609 -0
  435. package/lib/sample/sample-server-static-files.js.map +1 -0
  436. package/lib/sample/test-error-server.d.ts +10 -0
  437. package/lib/sample/test-error-server.js +45 -0
  438. package/lib/sample/test-error-server.js.map +1 -0
  439. package/lib/util/aws-util.d.ts +8 -0
  440. package/lib/util/aws-util.js +66 -0
  441. package/lib/util/aws-util.js.map +1 -0
  442. package/lib/util/context-util.d.ts +34 -0
  443. package/lib/util/context-util.js +104 -0
  444. package/lib/util/context-util.js.map +1 -0
  445. package/lib/util/cron-util.d.ts +11 -0
  446. package/lib/util/cron-util.js +69 -0
  447. package/lib/util/cron-util.js.map +1 -0
  448. package/lib/util/epsilon-config-parser.d.ts +14 -0
  449. package/lib/util/epsilon-config-parser.js +66 -0
  450. package/lib/util/epsilon-config-parser.js.map +1 -0
  451. package/lib/util/index.d.ts +4 -0
  452. package/lib/util/index.js +5 -0
  453. package/lib/util/index.js.map +1 -0
  454. package/package.json +25 -27
  455. package/lib/index.mjs +0 -2
  456. package/lib/types.d.ts +0 -1202
@@ -0,0 +1,209 @@
1
+ import { UnauthorizedError } from './error/unauthorized-error.js';
2
+ import { BadRequestError } from './error/bad-request-error.js';
3
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
+ import jwt from 'jsonwebtoken';
5
+ import { EpsilonConstants } from '../epsilon-constants.js';
6
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
7
+ import { LoggerLevelName } from '@bitblit/ratchet-common/logger/logger-level-name';
8
+ import { Base64Ratchet } from '@bitblit/ratchet-common/lang/base64-ratchet';
9
+ import { MapRatchet } from '@bitblit/ratchet-common/lang/map-ratchet';
10
+ import { EnumRatchet } from '@bitblit/ratchet-common/lang/enum-ratchet';
11
+ export class EventUtil {
12
+ constructor() { }
13
+ static extractStage(event) {
14
+ if (!event.path.startsWith('/')) {
15
+ throw new BadRequestError('Path should start with / but does not : ' + event.path);
16
+ }
17
+ const idx = event.path.indexOf('/', 1);
18
+ if (idx == -1) {
19
+ throw new BadRequestError('No second / found in the path : ' + event.path);
20
+ }
21
+ return event.path.substring(1, idx);
22
+ }
23
+ static extractHostHeader(event) {
24
+ return MapRatchet.extractValueFromMapIgnoreCase(event.headers, 'Host');
25
+ }
26
+ static extractProtocol(event) {
27
+ return MapRatchet.extractValueFromMapIgnoreCase(event.headers, 'X-Forwarded-Proto');
28
+ }
29
+ static extractApiGatewayStage(event) {
30
+ const rc = EventUtil.extractRequestContext(event);
31
+ return rc ? rc.stage : null;
32
+ }
33
+ static extractRequestContext(event) {
34
+ return event.requestContext;
35
+ }
36
+ static extractAuthorizer(event) {
37
+ const rc = EventUtil.extractRequestContext(event);
38
+ return rc ? rc.authorizer : null;
39
+ }
40
+ static ipAddressChain(event) {
41
+ const headerVal = event && event.headers ? MapRatchet.extractValueFromMapIgnoreCase(event.headers, 'X-Forwarded-For') : null;
42
+ let headerList = headerVal ? String(headerVal).split(',') : [];
43
+ headerList = headerList.map((s) => s.trim());
44
+ return headerList;
45
+ }
46
+ static ipAddress(event) {
47
+ const list = EventUtil.ipAddressChain(event);
48
+ return list && list.length > 0 ? list[0] : null;
49
+ }
50
+ static extractFullPath(event, overrideProtocol = null) {
51
+ const protocol = overrideProtocol || EventUtil.extractProtocol(event) || 'https';
52
+ return protocol + '://' + event.requestContext['domainName'] + event.requestContext.path;
53
+ }
54
+ static extractFullPrefix(event, overrideProtocol = null) {
55
+ const protocol = overrideProtocol || EventUtil.extractProtocol(event) || 'https';
56
+ const prefix = event.requestContext.path.substring(0, event.requestContext.path.indexOf('/', 1));
57
+ return protocol + '://' + event.requestContext['domainName'] + prefix;
58
+ }
59
+ static jsonBodyToObject(evt) {
60
+ let rval = null;
61
+ if (evt.body) {
62
+ const contentType = MapRatchet.extractValueFromMapIgnoreCase(evt.headers, 'Content-Type') || 'application/octet-stream';
63
+ rval = evt.body;
64
+ if (evt.isBase64Encoded) {
65
+ rval = Base64Ratchet.base64StringToString(rval);
66
+ }
67
+ if (contentType.startsWith('application/json')) {
68
+ rval = JSON.parse(rval.toString('ascii'));
69
+ }
70
+ }
71
+ return rval;
72
+ }
73
+ static calcLogLevelViaEventOrEnvParam(curLevel, event, rConfig) {
74
+ let rval = curLevel;
75
+ if (rConfig?.envParamLogLevelName && process.env[rConfig.envParamLogLevelName]) {
76
+ rval = EnumRatchet.keyToEnum(LoggerLevelName, process.env[rConfig.envParamLogLevelName]);
77
+ Logger.silly('Found env log level : %s', rval);
78
+ }
79
+ if (rConfig &&
80
+ rConfig.queryParamLogLevelName &&
81
+ event &&
82
+ event.queryStringParameters &&
83
+ event.queryStringParameters[rConfig.queryParamLogLevelName]) {
84
+ rval = EnumRatchet.keyToEnum(LoggerLevelName, event.queryStringParameters[rConfig.queryParamLogLevelName]);
85
+ Logger.silly('Found query log level : %s', rval);
86
+ }
87
+ return rval;
88
+ }
89
+ static fixStillEncodedQueryParams(event) {
90
+ if (event?.queryStringParameters) {
91
+ const newParams = {};
92
+ Object.keys(event.queryStringParameters).forEach((k) => {
93
+ const val = event.queryStringParameters[k];
94
+ if (k.toLowerCase().startsWith('amp;')) {
95
+ newParams[k.substring(4)] = val;
96
+ }
97
+ else {
98
+ newParams[k] = val;
99
+ }
100
+ });
101
+ event.queryStringParameters = newParams;
102
+ }
103
+ if (event?.multiValueQueryStringParameters) {
104
+ const newParams = {};
105
+ Object.keys(event.multiValueQueryStringParameters).forEach((k) => {
106
+ const val = event.multiValueQueryStringParameters[k];
107
+ if (k.toLowerCase().startsWith('amp;')) {
108
+ newParams[k.substring(4)] = val;
109
+ }
110
+ else {
111
+ newParams[k] = val;
112
+ }
113
+ });
114
+ event.multiValueQueryStringParameters = newParams;
115
+ }
116
+ }
117
+ static applyTokenToEventForTesting(event, jwtToken) {
118
+ const jwtFullData = jwt.decode(jwtToken, { complete: true });
119
+ if (!jwtFullData['payload']) {
120
+ throw new Error('No payload found in passed token');
121
+ }
122
+ const jwtData = jwtFullData['payload'];
123
+ event.headers = event.headers || {};
124
+ event.headers[EpsilonConstants.AUTH_HEADER_NAME.toLowerCase()] = 'Bearer ' + jwtToken;
125
+ event.requestContext = event.requestContext || {};
126
+ const newAuth = Object.assign({}, event.requestContext.authorizer);
127
+ newAuth.userData = jwtData;
128
+ newAuth.userDataJSON = jwtData ? JSON.stringify(jwtData) : null;
129
+ newAuth.srcData = jwtToken;
130
+ event.requestContext.authorizer = newAuth;
131
+ }
132
+ static extractBasicAuthenticationToken(event, throwErrorOnMissingBad = false) {
133
+ let rval = null;
134
+ if (!!event && !!event.headers) {
135
+ const headerVal = EventUtil.extractAuthorizationHeaderCaseInsensitive(event);
136
+ if (!!headerVal && headerVal.startsWith('Basic ')) {
137
+ const parsed = Base64Ratchet.base64StringToString(headerVal.substring(6));
138
+ const sp = parsed.split(':');
139
+ Logger.silly('Parsed to %j', sp);
140
+ if (!!sp && sp.length === 2) {
141
+ rval = {
142
+ username: sp[0],
143
+ password: sp[1],
144
+ };
145
+ }
146
+ }
147
+ }
148
+ if (!rval && throwErrorOnMissingBad) {
149
+ throw new UnauthorizedError('Could not find valid basic authentication header');
150
+ }
151
+ return rval;
152
+ }
153
+ static eventIsAGraphQLIntrospection(event) {
154
+ let rval = false;
155
+ if (event) {
156
+ if (!!event.httpMethod && 'post' === event.httpMethod.toLowerCase()) {
157
+ if (!!event.path && event.path.endsWith('/graphql')) {
158
+ try {
159
+ const body = EventUtil.jsonBodyToObject(event);
160
+ rval = !!body && !!body['operationName'] && body['operationName'] === 'IntrospectionQuery';
161
+ }
162
+ catch (err) {
163
+ Logger.error('Failed to parse body - treating as non-graphql : %s : %s', event?.body, err, err);
164
+ rval = false;
165
+ }
166
+ }
167
+ }
168
+ }
169
+ return rval;
170
+ }
171
+ static extractAuthorizationHeaderCaseInsensitive(evt) {
172
+ return MapRatchet.caseInsensitiveAccess(evt?.headers || {}, EpsilonConstants.AUTH_HEADER_NAME);
173
+ }
174
+ static extractBearerTokenFromEvent(evt) {
175
+ let rval = null;
176
+ const authHeader = StringRatchet.trimToEmpty(EventUtil.extractAuthorizationHeaderCaseInsensitive(evt));
177
+ if (authHeader.toLowerCase().startsWith('bearer ')) {
178
+ rval = authHeader.substring(7);
179
+ }
180
+ return rval;
181
+ }
182
+ static hostIsLocal(host) {
183
+ let rval = false;
184
+ if (StringRatchet.trimToNull(host)) {
185
+ host = host.includes(':') ? host.substring(0, host.indexOf(':')) : host;
186
+ host = host.toLowerCase();
187
+ if (host === 'localhost' || host === '127.0.0.1') {
188
+ rval = true;
189
+ }
190
+ }
191
+ return rval;
192
+ }
193
+ static hostIsLocalOrNotRoutableIP4(host) {
194
+ let rval = false;
195
+ if (StringRatchet.trimToNull(host)) {
196
+ host = host.includes(':') ? host.substring(0, host.indexOf(':')) : host;
197
+ host = host.toLowerCase();
198
+ if (host === 'localhost' ||
199
+ host === '127.0.0.1' ||
200
+ host.startsWith('192.168.') ||
201
+ host.startsWith('10.') ||
202
+ host.startsWith('172.16.')) {
203
+ rval = true;
204
+ }
205
+ }
206
+ return rval;
207
+ }
208
+ }
209
+ //# sourceMappingURL=event-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-util.js","sourceRoot":"","sources":["../../src/http/event-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export * from './event-util.js';
2
+ export * from './response-util.js';
3
+ export * from './web-handler.js';
4
+ export * from './web-v2-handler.js';
5
+ export * from './auth/api-gateway-adapter-authentication-handler.js';
6
+ export * from './auth/auth0-web-token-manipulator.js';
7
+ export * from './auth/basic-auth-token.js';
8
+ export * from './auth/google-web-token-manipulator.js';
9
+ export * from './auth/jwt-ratchet-local-web-token-manipulator.js';
10
+ export * from './auth/local-web-token-manipulator.js';
11
+ export * from './auth/web-token-manipulator.js';
12
+ export * from './error/bad-gateway.js';
13
+ export * from './error/bad-request-error.js';
14
+ export * from './error/conflict-error.js';
15
+ export * from './error/forbidden-error.js';
16
+ export * from './error/gateway-timeout.js';
17
+ export * from './error/method-not-allowed-error.js';
18
+ export * from './error/misconfigured-error.js';
19
+ export * from './error/not-found-error.js';
20
+ export * from './error/not-implemented.js';
21
+ export * from './error/request-timeout-error.js';
22
+ export * from './error/service-unavailable.js';
23
+ export * from './error/too-many-requests-error.js';
24
+ export * from './error/unauthorized-error.js';
25
+ export * from './route/epsilon-router.js';
26
+ export * from './route/extended-auth-response-context.js';
27
+ export * from './route/route-mapping.js';
28
+ export * from './route/route-validator-config.js';
29
+ export * from './route/router-util.js';
@@ -0,0 +1,30 @@
1
+ export * from './event-util.js';
2
+ export * from './response-util.js';
3
+ export * from './web-handler.js';
4
+ export * from './web-v2-handler.js';
5
+ export * from './auth/api-gateway-adapter-authentication-handler.js';
6
+ export * from './auth/auth0-web-token-manipulator.js';
7
+ export * from './auth/basic-auth-token.js';
8
+ export * from './auth/google-web-token-manipulator.js';
9
+ export * from './auth/jwt-ratchet-local-web-token-manipulator.js';
10
+ export * from './auth/local-web-token-manipulator.js';
11
+ export * from './auth/web-token-manipulator.js';
12
+ export * from './error/bad-gateway.js';
13
+ export * from './error/bad-request-error.js';
14
+ export * from './error/conflict-error.js';
15
+ export * from './error/forbidden-error.js';
16
+ export * from './error/gateway-timeout.js';
17
+ export * from './error/method-not-allowed-error.js';
18
+ export * from './error/misconfigured-error.js';
19
+ export * from './error/not-found-error.js';
20
+ export * from './error/not-implemented.js';
21
+ export * from './error/request-timeout-error.js';
22
+ export * from './error/service-unavailable.js';
23
+ export * from './error/too-many-requests-error.js';
24
+ export * from './error/unauthorized-error.js';
25
+ export * from './route/epsilon-router.js';
26
+ export * from './route/extended-auth-response-context.js';
27
+ export * from './route/route-mapping.js';
28
+ export * from './route/route-validator-config.js';
29
+ export * from './route/router-util.js';
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sDAAsD,CAAC;AACrE,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,mDAAmD,CAAC;AAClE,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { ProxyResult } from 'aws-lambda';
2
+ import { RestfulApiHttpError } from '@bitblit/ratchet-common/network/restful-api-http-error';
3
+ export declare class ResponseUtil {
4
+ private constructor();
5
+ static errorResponse<T>(err: RestfulApiHttpError<T>): ProxyResult;
6
+ static redirect(target: string, code?: number, queryParams?: any): ProxyResult;
7
+ static coerceToProxyResult(input: any): ProxyResult;
8
+ static applyGzipIfPossible(encodingHeader: string, proxyResult: ProxyResult): Promise<ProxyResult>;
9
+ static gzip(input: Buffer): Promise<Buffer>;
10
+ }
@@ -0,0 +1,142 @@
1
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
2
+ import { MapRatchet } from '@bitblit/ratchet-common/lang/map-ratchet';
3
+ import zlib from 'zlib';
4
+ export class ResponseUtil {
5
+ constructor() { }
6
+ static errorResponse(err) {
7
+ const body = {
8
+ errors: err.errors,
9
+ httpStatusCode: err.httpStatusCode,
10
+ requestId: err.requestId,
11
+ };
12
+ if (err.detailErrorCode) {
13
+ body['detailErrorCode'] = err.detailErrorCode;
14
+ }
15
+ if (err.endUserErrors && err.endUserErrors.length > 0) {
16
+ body['endUserErrors'] = err.endUserErrors;
17
+ }
18
+ if (err.details) {
19
+ body['details'] = err.details;
20
+ }
21
+ if (err.wrappedError) {
22
+ body['wrappedError'] = err.wrappedError.name + ' : ' + err.wrappedError.message;
23
+ }
24
+ const errorResponse = {
25
+ statusCode: err.httpStatusCode,
26
+ isBase64Encoded: false,
27
+ headers: {
28
+ 'Content-Type': 'application/json',
29
+ },
30
+ body: JSON.stringify(body),
31
+ };
32
+ return errorResponse;
33
+ }
34
+ static redirect(target, code = 301, queryParams = null) {
35
+ if (code !== 301 && code !== 302 && code !== 307) {
36
+ throw new Error('Code must be 301 or 302 or 307 for a redirect');
37
+ }
38
+ let redirectTarget = target;
39
+ if (queryParams) {
40
+ const keys = Object.keys(queryParams);
41
+ if (keys.length > 0) {
42
+ Logger.silly('Applying params to input target : %j', queryParams);
43
+ redirectTarget += redirectTarget.indexOf('?') === -1 ? '?' : '&';
44
+ for (let i = 0; i < keys.length; i++) {
45
+ const k = keys[i];
46
+ redirectTarget += k + '=' + encodeURIComponent(queryParams[k]);
47
+ if (i < keys.length - 1) {
48
+ redirectTarget += '&';
49
+ }
50
+ }
51
+ }
52
+ }
53
+ return {
54
+ statusCode: code,
55
+ body: '{"redirect-target":"' + redirectTarget + '}',
56
+ headers: {
57
+ 'Content-Type': 'application/json',
58
+ Location: redirectTarget,
59
+ },
60
+ };
61
+ }
62
+ static coerceToProxyResult(input) {
63
+ let rval = null;
64
+ if (input != null) {
65
+ if (typeof input === 'object') {
66
+ if (input.statusCode && input.body !== undefined) {
67
+ rval = Object.assign({}, input);
68
+ if (typeof input.body === 'string') {
69
+ }
70
+ else if (Buffer.isBuffer(input.body)) {
71
+ rval.body = input.body.toString('base64');
72
+ rval.headers = input.headers || {};
73
+ rval.headers['Content-Type'] = input.body.contentType;
74
+ rval.isBase64Encoded = true;
75
+ }
76
+ }
77
+ else {
78
+ const headers = input.headers || {};
79
+ headers['Content-Type'] = 'application/json';
80
+ rval = ResponseUtil.coerceToProxyResult({
81
+ statusCode: 200,
82
+ body: JSON.stringify(input),
83
+ headers: headers,
84
+ isBase64Encoded: false,
85
+ });
86
+ }
87
+ }
88
+ else if (typeof input === 'string' || Buffer.isBuffer(input)) {
89
+ rval = ResponseUtil.coerceToProxyResult({ statusCode: 200, body: input });
90
+ }
91
+ else {
92
+ const headers = input.headers || {};
93
+ headers['Content-Type'] = 'application/json';
94
+ rval = ResponseUtil.coerceToProxyResult({
95
+ statusCode: 200,
96
+ body: JSON.stringify(input),
97
+ headers: headers,
98
+ isBase64Encoded: false,
99
+ });
100
+ }
101
+ }
102
+ return rval;
103
+ }
104
+ static async applyGzipIfPossible(encodingHeader, proxyResult) {
105
+ const rval = proxyResult;
106
+ if (encodingHeader && encodingHeader.toLowerCase().indexOf('gzip') > -1) {
107
+ const bigEnough = proxyResult.body.length > 1400;
108
+ let contentType = MapRatchet.extractValueFromMapIgnoreCase(proxyResult.headers, 'content-type') || '';
109
+ contentType = contentType.toLowerCase();
110
+ const exemptContent = contentType === 'application/pdf' || contentType === 'application/zip' || contentType.startsWith('image/');
111
+ if (bigEnough && !exemptContent) {
112
+ const asBuffer = proxyResult.isBase64Encoded ? Buffer.from(proxyResult.body, 'base64') : Buffer.from(proxyResult.body);
113
+ const zipped = await this.gzip(asBuffer);
114
+ Logger.debug('Comp from %s to %d bytes', asBuffer.length, zipped.length);
115
+ const zipped64 = zipped.toString('base64');
116
+ rval.body = zipped64;
117
+ rval.isBase64Encoded = true;
118
+ rval.headers = rval.headers || {};
119
+ rval.headers['Content-Encoding'] = 'gzip';
120
+ }
121
+ else {
122
+ Logger.silly('Not gzipping, too small or exempt content');
123
+ }
124
+ }
125
+ else {
126
+ Logger.silly('Not gzipping, not an accepted encoding');
127
+ }
128
+ return rval;
129
+ }
130
+ static gzip(input) {
131
+ const promise = new Promise(function (resolve, reject) {
132
+ zlib.gzip(input, function (error, result) {
133
+ if (!error)
134
+ resolve(result);
135
+ else
136
+ reject(error);
137
+ });
138
+ });
139
+ return promise;
140
+ }
141
+ }
142
+ //# sourceMappingURL=response-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-util.js","sourceRoot":"","sources":["../../src/http/response-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { RouteMapping } from './route-mapping.js';
2
+ import { ModelValidator } from '@bitblit/ratchet-misc/model-validator/model-validator';
3
+ import { HttpConfig } from '../../config/http/http-config.js';
4
+ export interface EpsilonRouter {
5
+ routes: RouteMapping[];
6
+ openApiModelValidator: ModelValidator;
7
+ config: HttpConfig;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=epsilon-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epsilon-router.js","sourceRoot":"","sources":["../../../src/http/route/epsilon-router.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { AuthResponseContext } from 'aws-lambda';
2
+ export interface ExtendedAuthResponseContext extends AuthResponseContext {
3
+ userData: any;
4
+ userDataJSON: string;
5
+ srcData: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=extended-auth-response-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-auth-response-context.js","sourceRoot":"","sources":["../../../src/http/route/extended-auth-response-context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { RouteValidatorConfig } from './route-validator-config.js';
2
+ import { HandlerFunction } from '../../config/http/handler-function.js';
3
+ import { HttpProcessingConfig } from '../../config/http/http-processing-config.js';
4
+ export interface RouteMapping {
5
+ method: string;
6
+ path: string;
7
+ function: HandlerFunction<any>;
8
+ metaProcessingConfig: HttpProcessingConfig;
9
+ validation: RouteValidatorConfig;
10
+ outboundValidation: RouteValidatorConfig;
11
+ authorizerName: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=route-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-mapping.js","sourceRoot":"","sources":["../../../src/http/route/route-mapping.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface RouteValidatorConfig {
2
+ modelName: string;
3
+ emptyAllowed: boolean;
4
+ extraPropertiesAllowed: boolean;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=route-validator-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-validator-config.js","sourceRoot":"","sources":["../../../src/http/route/route-validator-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { EpsilonRouter } from './epsilon-router.js';
2
+ import { JwtTokenBase } from '@bitblit/ratchet-common/jwt/jwt-token-base';
3
+ import { OpenApiDocument } from '../../config/open-api/open-api-document.js';
4
+ import { ModelValidator } from '@bitblit/ratchet-misc/model-validator/model-validator';
5
+ import { BackgroundHttpAdapterHandler } from '../../background/background-http-adapter-handler.js';
6
+ import { HttpConfig } from '../../config/http/http-config.js';
7
+ import { HttpProcessingConfig } from '../../config/http/http-processing-config.js';
8
+ import { WebTokenManipulator } from '../auth/web-token-manipulator.js';
9
+ import { FilterFunction } from '../../config/http/filter-function.js';
10
+ export declare class RouterUtil {
11
+ private constructor();
12
+ static defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): FilterFunction[];
13
+ static defaultEpsilonPreFilters(): FilterFunction[];
14
+ static defaultEpsilonPostFilters(): FilterFunction[];
15
+ static defaultEpsilonErrorFilters(): FilterFunction[];
16
+ static defaultHttpMetaProcessingConfigWithAuthenticationHeaderParsing(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): HttpProcessingConfig;
17
+ static defaultHttpMetaProcessingConfig(): HttpProcessingConfig;
18
+ static assignDefaultsOnHttpConfig(cfg: HttpConfig): HttpConfig;
19
+ static findApplicableMeta(httpConfig: HttpConfig, method: string, path: string): HttpProcessingConfig;
20
+ static openApiYamlToRouterConfig(httpConfig: HttpConfig, openApiDoc: OpenApiDocument, modelValidator: ModelValidator, backgroundHttpAdapterHandler: BackgroundHttpAdapterHandler): EpsilonRouter;
21
+ private static findAndValidateModelName;
22
+ static openApiPathToRouteParserPath(input: string): string;
23
+ }