@bitblit/ratchet-epsilon-common 4.0.98-alpha → 4.0.102-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 (442) hide show
  1. package/dist/{types/background → background}/background-dynamo-log-table-handler.d.ts +3 -3
  2. package/dist/{es/background → background}/background-dynamo-log-table-handler.js +6 -2
  3. package/dist/{types/background → background}/background-execution-event.d.ts +1 -1
  4. package/dist/{types/background → background}/background-execution-listener.d.ts +1 -1
  5. package/dist/{types/background → background}/background-handler.d.ts +5 -9
  6. package/dist/{es/background → background}/background-handler.js +15 -7
  7. package/dist/{types/background → background}/background-http-adapter-handler.d.ts +7 -11
  8. package/dist/{es/background → background}/background-http-adapter-handler.js +13 -8
  9. package/dist/{types/background → background}/background-queue-response-internal.d.ts +1 -1
  10. package/dist/{types/background → background}/background-validator.d.ts +5 -8
  11. package/dist/{es/background → background}/background-validator.js +5 -3
  12. package/dist/{es/background → background}/epsilon-background-process-error.js +6 -1
  13. package/dist/{types/background → background}/internal-background-entry.d.ts +1 -1
  14. package/dist/{types/background → background}/manager/abstract-background-manager.d.ts +3 -10
  15. package/dist/{es/background → background}/manager/abstract-background-manager.js +5 -4
  16. package/dist/{types/background → background}/manager/aws-sqs-sns-background-manager.d.ts +4 -11
  17. package/dist/{es/background → background}/manager/aws-sqs-sns-background-manager.js +9 -5
  18. package/dist/{types/background → background}/manager/background-manager-like.d.ts +2 -9
  19. package/dist/background/manager/background-manager.spec.js +73 -0
  20. package/dist/{types/background → background}/manager/single-thread-local-background-manager.d.ts +3 -10
  21. package/dist/{es/background → background}/manager/single-thread-local-background-manager.js +3 -3
  22. package/dist/{types/background → background}/s3-background-transaction-logger.d.ts +2 -2
  23. package/dist/{es/background → background}/s3-background-transaction-logger.js +6 -3
  24. package/dist/{types/build → build}/ratchet-epsilon-common-info.d.ts +1 -1
  25. package/dist/{types/built-in → built-in}/background/echo-processor.d.ts +2 -2
  26. package/dist/{es/built-in → built-in}/background/echo-processor.js +4 -3
  27. package/dist/{types/built-in → built-in}/background/log-and-enqueue-echo-processor.d.ts +2 -2
  28. package/dist/{es/built-in → built-in}/background/log-and-enqueue-echo-processor.js +2 -2
  29. package/dist/{types/built-in → built-in}/background/log-message-background-error-processor.d.ts +2 -2
  30. package/dist/{es/built-in → built-in}/background/log-message-background-error-processor.js +1 -1
  31. package/dist/{types/built-in → built-in}/background/no-op-processor.d.ts +2 -2
  32. package/dist/{es/built-in → built-in}/background/no-op-processor.js +1 -1
  33. package/dist/{types/built-in → built-in}/background/retry-processor.d.ts +2 -2
  34. package/dist/{es/built-in → built-in}/background/retry-processor.js +8 -4
  35. package/dist/{types/built-in → built-in}/background/sample-delay-processor.d.ts +2 -2
  36. package/dist/{es/built-in → built-in}/background/sample-delay-processor.js +2 -1
  37. package/dist/{types/built-in → built-in}/background/sample-input-validated-processor.d.ts +3 -3
  38. package/dist/{es/built-in → built-in}/background/sample-input-validated-processor.js +1 -1
  39. package/dist/{es/built-in → built-in}/built-in-trace-id-generators.js +2 -2
  40. package/dist/{types/built-in → built-in}/daemon/daemon-authorizer-function.d.ts +2 -2
  41. package/dist/{types/built-in → built-in}/daemon/daemon-config.d.ts +2 -2
  42. package/dist/{types/built-in → built-in}/daemon/daemon-group-selection-function.d.ts +1 -1
  43. package/dist/{types/built-in → built-in}/daemon/daemon-handler.d.ts +6 -12
  44. package/dist/{es/built-in → built-in}/daemon/daemon-handler.js +9 -8
  45. package/dist/built-in/daemon/daemon-process-state-list.d.ts +5 -0
  46. package/dist/{types/built-in → built-in}/http/apollo-filter.d.ts +2 -2
  47. package/dist/{es/built-in → built-in}/http/apollo-filter.js +6 -5
  48. package/dist/{types/built-in → built-in}/http/built-in-auth-filters.d.ts +3 -3
  49. package/dist/{es/built-in → built-in}/http/built-in-auth-filters.js +5 -5
  50. package/dist/{types/built-in → built-in}/http/built-in-authorizers.d.ts +2 -2
  51. package/dist/{es/built-in → built-in}/http/built-in-authorizers.js +1 -1
  52. package/dist/{types/built-in → built-in}/http/built-in-filters.d.ts +2 -2
  53. package/dist/{es/built-in → built-in}/http/built-in-filters.js +9 -9
  54. package/dist/{types/built-in → built-in}/http/built-in-handlers.d.ts +2 -2
  55. package/dist/{es/built-in → built-in}/http/built-in-handlers.js +10 -10
  56. package/dist/{types/built-in → built-in}/http/log-level-manipulation-filter.d.ts +1 -4
  57. package/dist/{es/built-in → built-in}/http/log-level-manipulation-filter.js +2 -2
  58. package/dist/{types/built-in → built-in}/http/run-handler-as-filter.d.ts +5 -5
  59. package/dist/{es/built-in → built-in}/http/run-handler-as-filter.js +8 -8
  60. package/dist/built-in/http/run-handler-as-filter.spec.js +40 -0
  61. package/dist/{types/cli-bootstrap → cli-bootstrap}/ratchet-cli-handler.d.ts +2 -2
  62. package/dist/{es/cli-bootstrap → cli-bootstrap}/ratchet-cli-handler.js +6 -6
  63. package/dist/cli-bootstrap/run-background-process-from-command-line.d.ts +3 -0
  64. package/dist/{es/cli-bootstrap → cli-bootstrap}/run-background-process-from-command-line.js +2 -2
  65. package/dist/{types/config → config}/background/background-config.d.ts +4 -4
  66. package/dist/{types/config → config}/background/background-error-processor.d.ts +1 -1
  67. package/dist/{types/config → config}/background/background-processor.d.ts +1 -1
  68. package/dist/{types/config → config}/background/background-transaction-log.d.ts +1 -1
  69. package/dist/{types/config → config}/background/background-transaction-logger.d.ts +1 -1
  70. package/dist/config/cron/cron-background-entry.d.ts +6 -0
  71. package/dist/{types/config → config}/cron/cron-config.d.ts +1 -1
  72. package/dist/{types/config → config}/dynamo-db-config.d.ts +1 -1
  73. package/dist/{types/config → config}/epsilon-config.d.ts +8 -8
  74. package/dist/{types/config → config}/epsilon-logger-config.d.ts +3 -2
  75. package/dist/{types/config → config}/http/authorizer-function.d.ts +3 -3
  76. package/dist/{types/config → config}/http/extended-api-gateway-event.d.ts +1 -1
  77. package/dist/{types/config → config}/http/filter-chain-context.d.ts +4 -4
  78. package/dist/{types/config → config}/http/filter-function.d.ts +1 -1
  79. package/dist/{types/config → config}/http/handler-function.d.ts +1 -1
  80. package/dist/{types/config → config}/http/http-config.d.ts +5 -5
  81. package/dist/{types/config → config}/http/http-processing-config.d.ts +2 -2
  82. package/dist/{types/config → config}/http/mapped-http-processing-config.d.ts +1 -1
  83. package/dist/{types/config → config}/inter-api/inter-api-config.d.ts +2 -2
  84. package/dist/config/inter-api/inter-api-process-mapping.d.ts +6 -0
  85. package/dist/{types/config → config}/open-api/open-api-document.d.ts +2 -2
  86. package/dist/{types/config → config}/s3-config.d.ts +1 -1
  87. package/dist/{types/config → config}/sns-config.d.ts +1 -1
  88. package/dist/{es/epsilon-build-properties.js → epsilon-build-properties.js} +1 -1
  89. package/dist/{types/epsilon-constants.d.ts → epsilon-constants.d.ts} +1 -1
  90. package/dist/{es/epsilon-constants.js → epsilon-constants.js} +13 -12
  91. package/dist/{types/epsilon-global-handler.d.ts → epsilon-global-handler.d.ts} +3 -6
  92. package/dist/{es/epsilon-global-handler.js → epsilon-global-handler.js} +23 -18
  93. package/dist/{types/epsilon-instance.d.ts → epsilon-instance.d.ts} +6 -11
  94. package/dist/epsilon-logging-extension-processor.d.ts +6 -0
  95. package/dist/{es/epsilon-logging-extension-processor.js → epsilon-logging-extension-processor.js} +1 -1
  96. package/dist/{types/http → http}/auth/api-gateway-adapter-authentication-handler.d.ts +0 -10
  97. package/dist/{es/http → http}/auth/api-gateway-adapter-authentication-handler.js +4 -3
  98. package/dist/{types/http → http}/auth/auth0-web-token-manipulator.d.ts +2 -2
  99. package/dist/{es/http → http}/auth/auth0-web-token-manipulator.js +6 -1
  100. package/dist/{types/http → http}/auth/basic-auth-token.d.ts +0 -3
  101. package/dist/{types/http → http}/auth/google-web-token-manipulator.d.ts +2 -2
  102. package/dist/{es/http → http}/auth/google-web-token-manipulator.js +6 -3
  103. package/dist/http/auth/google-web-token-manipulator.spec.js +10 -0
  104. package/dist/{types/http → http}/auth/jwt-ratchet-local-web-token-manipulator.d.ts +3 -5
  105. package/dist/{es/http → http}/auth/jwt-ratchet-local-web-token-manipulator.js +5 -3
  106. package/dist/{types/http → http}/auth/local-web-token-manipulator.d.ts +4 -5
  107. package/dist/{es/http → http}/auth/local-web-token-manipulator.js +9 -5
  108. package/dist/http/auth/local-web-token-manipulator.spec.js +24 -0
  109. package/dist/{types/http → http}/auth/web-token-manipulator.d.ts +1 -4
  110. package/dist/{types/http → http}/error/bad-gateway.d.ts +1 -1
  111. package/dist/{es/http → http}/error/bad-gateway.js +2 -2
  112. package/dist/{types/http → http}/error/bad-request-error.d.ts +1 -1
  113. package/dist/{es/http → http}/error/bad-request-error.js +2 -2
  114. package/dist/{types/http → http}/error/conflict-error.d.ts +1 -1
  115. package/dist/{es/http → http}/error/conflict-error.js +2 -2
  116. package/dist/{es/http → http}/error/epsilon-http-error.js +9 -3
  117. package/dist/http/error/epsilon-http-error.spec.js +11 -0
  118. package/dist/{types/http → http}/error/forbidden-error.d.ts +1 -1
  119. package/dist/{es/http → http}/error/forbidden-error.js +2 -2
  120. package/dist/{types/http → http}/error/gateway-timeout.d.ts +1 -1
  121. package/dist/{es/http → http}/error/gateway-timeout.js +2 -2
  122. package/dist/{types/http → http}/error/method-not-allowed-error.d.ts +1 -1
  123. package/dist/{es/http → http}/error/method-not-allowed-error.js +2 -2
  124. package/dist/{types/http → http}/error/misconfigured-error.d.ts +1 -1
  125. package/dist/{es/http → http}/error/misconfigured-error.js +2 -2
  126. package/dist/{types/http → http}/error/not-found-error.d.ts +1 -1
  127. package/dist/{es/http → http}/error/not-found-error.js +2 -2
  128. package/dist/{types/http → http}/error/not-implemented.d.ts +1 -1
  129. package/dist/{es/http → http}/error/not-implemented.js +2 -2
  130. package/dist/{types/http → http}/error/request-timeout-error.d.ts +1 -1
  131. package/dist/{es/http → http}/error/request-timeout-error.js +2 -2
  132. package/dist/{types/http → http}/error/service-unavailable.d.ts +1 -1
  133. package/dist/{es/http → http}/error/service-unavailable.js +2 -2
  134. package/dist/{types/http → http}/error/too-many-requests-error.d.ts +1 -1
  135. package/dist/{es/http → http}/error/too-many-requests-error.js +2 -2
  136. package/dist/{types/http → http}/error/unauthorized-error.d.ts +1 -1
  137. package/dist/{es/http → http}/error/unauthorized-error.js +2 -2
  138. package/dist/{types/http → http}/event-util.d.ts +3 -25
  139. package/dist/{es/http → http}/event-util.js +9 -8
  140. package/dist/http/event-util.spec.js +157 -0
  141. package/dist/{types/http → http}/response-util.d.ts +2 -2
  142. package/dist/{es/http → http}/response-util.js +2 -2
  143. package/dist/http/response-util.spec.d.ts +1 -0
  144. package/dist/http/response-util.spec.js +88 -0
  145. package/dist/http/route/epsilon-router.d.ts +8 -0
  146. package/dist/http/route/epsilon-router.js +1 -0
  147. package/dist/http/route/extended-auth-response-context.js +1 -0
  148. package/dist/{types/http → http}/route/route-mapping.d.ts +3 -3
  149. package/dist/http/route/route-mapping.js +1 -0
  150. package/dist/http/route/route-validator-config.js +1 -0
  151. package/dist/{types/http → http}/route/router-util.d.ts +9 -12
  152. package/dist/{es/http → http}/route/router-util.js +10 -10
  153. package/dist/http/route/router-util.spec.d.ts +1 -0
  154. package/dist/http/route/router-util.spec.js +23 -0
  155. package/dist/{types/http → http}/web-handler.d.ts +4 -7
  156. package/dist/{es/http → http}/web-handler.js +11 -10
  157. package/dist/http/web-handler.spec.d.ts +1 -0
  158. package/dist/http/web-handler.spec.js +32 -0
  159. package/dist/{types/http → http}/web-v2-handler.d.ts +2 -5
  160. package/dist/{es/http → http}/web-v2-handler.js +3 -2
  161. package/dist/index.d.ts +1 -0
  162. package/dist/index.js +1 -0
  163. package/dist/inter-api/inter-api-entry.js +1 -0
  164. package/dist/{types/inter-api → inter-api}/inter-api-util.d.ts +3 -3
  165. package/dist/{es/inter-api → inter-api}/inter-api-util.js +6 -5
  166. package/dist/inter-api/inter-api-util.spec.d.ts +1 -0
  167. package/dist/inter-api/inter-api-util.spec.js +61 -0
  168. package/dist/{types/inter-api-manager.d.ts → inter-api-manager.d.ts} +2 -5
  169. package/dist/{es/inter-api-manager.js → inter-api-manager.js} +5 -3
  170. package/dist/{types/lambda-event-handler → lambda-event-handler}/cron-epsilon-lambda-event-handler.d.ts +5 -5
  171. package/dist/{es/lambda-event-handler → lambda-event-handler}/cron-epsilon-lambda-event-handler.js +5 -4
  172. package/dist/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.d.ts +1 -0
  173. package/dist/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.js +50 -0
  174. package/dist/{types/lambda-event-handler → lambda-event-handler}/dynamo-epsilon-lambda-event-handler.d.ts +2 -2
  175. package/dist/{es/lambda-event-handler → lambda-event-handler}/dynamo-epsilon-lambda-event-handler.js +4 -3
  176. package/dist/{types/lambda-event-handler → lambda-event-handler}/generic-sns-epsilon-lambda-event-handler.d.ts +2 -2
  177. package/dist/{es/lambda-event-handler → lambda-event-handler}/generic-sns-epsilon-lambda-event-handler.js +4 -3
  178. package/dist/{types/lambda-event-handler → lambda-event-handler}/inter-api-epsilon-lambda-event-handler.d.ts +2 -2
  179. package/dist/{es/lambda-event-handler → lambda-event-handler}/inter-api-epsilon-lambda-event-handler.js +2 -1
  180. package/dist/{types/lambda-event-handler → lambda-event-handler}/s3-epsilon-lambda-event-handler.d.ts +2 -2
  181. package/dist/{es/lambda-event-handler → lambda-event-handler}/s3-epsilon-lambda-event-handler.js +4 -3
  182. package/dist/{types/local-container-server.d.ts → local-container-server.d.ts} +1 -4
  183. package/dist/{es/local-container-server.js → local-container-server.js} +8 -4
  184. package/dist/local-server-cert.js +67 -0
  185. package/dist/{types/local-server.d.ts → local-server.d.ts} +2 -5
  186. package/dist/{es/local-server.js → local-server.js} +11 -8
  187. package/dist/open-api-util/open-api-doc-modifications.js +1 -0
  188. package/dist/{types/open-api-util → open-api-util}/open-api-doc-modifier.d.ts +1 -4
  189. package/dist/{es/open-api-util → open-api-util}/open-api-doc-modifier.js +2 -1
  190. package/dist/open-api-util/open-api-doc-modifier.spec.d.ts +1 -0
  191. package/dist/open-api-util/open-api-doc-modifier.spec.js +16 -0
  192. package/dist/{es/open-api-util → open-api-util}/yaml-combiner.js +2 -2
  193. package/dist/open-api-util/yaml-combiner.spec.d.ts +1 -0
  194. package/dist/open-api-util/yaml-combiner.spec.js +22 -0
  195. package/dist/{types/sample → sample}/sample-server-components.d.ts +2 -2
  196. package/dist/{es/sample → sample}/sample-server-components.js +25 -24
  197. package/dist/sample/sample-server-static-files.js +593 -0
  198. package/dist/{types/sample → sample}/test-error-server.d.ts +1 -4
  199. package/dist/{es/sample → sample}/test-error-server.js +4 -2
  200. package/dist/{types/util → util}/context-util.d.ts +3 -3
  201. package/dist/{es/util → util}/context-util.js +11 -5
  202. package/dist/{types/util → util}/cron-util.d.ts +2 -2
  203. package/dist/{es/util → util}/cron-util.js +3 -3
  204. package/dist/util/cron-util.spec.d.ts +1 -0
  205. package/dist/util/cron-util.spec.js +124 -0
  206. package/dist/{types/util → util}/epsilon-config-parser.d.ts +6 -6
  207. package/dist/{es/util → util}/epsilon-config-parser.js +9 -9
  208. package/includes/cli.js +8 -10
  209. package/package.json +16 -19
  210. package/dist/cjs/background/background-dynamo-log-table-handler.js +0 -38
  211. package/dist/cjs/background/background-entry.js +0 -2
  212. package/dist/cjs/background/background-execution-event-type.js +0 -11
  213. package/dist/cjs/background/background-execution-event.js +0 -2
  214. package/dist/cjs/background/background-execution-listener.js +0 -2
  215. package/dist/cjs/background/background-handler.js +0 -269
  216. package/dist/cjs/background/background-http-adapter-handler.js +0 -127
  217. package/dist/cjs/background/background-meta-response-internal.js +0 -2
  218. package/dist/cjs/background/background-process-handling.js +0 -8
  219. package/dist/cjs/background/background-process-log-table-entry.js +0 -2
  220. package/dist/cjs/background/background-queue-response-internal.js +0 -2
  221. package/dist/cjs/background/background-validator.js +0 -88
  222. package/dist/cjs/background/epsilon-background-process-error.js +0 -93
  223. package/dist/cjs/background/internal-background-entry.js +0 -2
  224. package/dist/cjs/background/manager/abstract-background-manager.js +0 -92
  225. package/dist/cjs/background/manager/aws-sqs-sns-background-manager.js +0 -153
  226. package/dist/cjs/background/manager/background-manager-like.js +0 -2
  227. package/dist/cjs/background/manager/single-thread-local-background-manager.js +0 -49
  228. package/dist/cjs/background/s3-background-transaction-logger.js +0 -54
  229. package/dist/cjs/build/ratchet-epsilon-common-info.js +0 -18
  230. package/dist/cjs/built-in/background/echo-processor.js +0 -18
  231. package/dist/cjs/built-in/background/log-and-enqueue-echo-processor.js +0 -16
  232. package/dist/cjs/built-in/background/log-message-background-error-processor.js +0 -10
  233. package/dist/cjs/built-in/background/no-op-processor.js +0 -13
  234. package/dist/cjs/built-in/background/retry-processor.js +0 -41
  235. package/dist/cjs/built-in/background/sample-delay-processor.js +0 -16
  236. package/dist/cjs/built-in/background/sample-input-validated-processor-data.js +0 -2
  237. package/dist/cjs/built-in/background/sample-input-validated-processor.js +0 -16
  238. package/dist/cjs/built-in/built-in-trace-id-generators.js +0 -25
  239. package/dist/cjs/built-in/daemon/daemon-authorizer-function.js +0 -2
  240. package/dist/cjs/built-in/daemon/daemon-config.js +0 -2
  241. package/dist/cjs/built-in/daemon/daemon-group-selection-function.js +0 -2
  242. package/dist/cjs/built-in/daemon/daemon-handler.js +0 -62
  243. package/dist/cjs/built-in/daemon/daemon-process-state-list.js +0 -2
  244. package/dist/cjs/built-in/http/apollo-filter.js +0 -63
  245. package/dist/cjs/built-in/http/built-in-auth-filters.js +0 -115
  246. package/dist/cjs/built-in/http/built-in-authorizers.js +0 -43
  247. package/dist/cjs/built-in/http/built-in-filters.js +0 -222
  248. package/dist/cjs/built-in/http/built-in-handlers.js +0 -73
  249. package/dist/cjs/built-in/http/log-level-manipulation-filter.js +0 -20
  250. package/dist/cjs/built-in/http/run-handler-as-filter.js +0 -64
  251. package/dist/cjs/cli-bootstrap/ratchet-cli-handler.js +0 -24
  252. package/dist/cjs/cli-bootstrap/run-background-process-from-command-line.js +0 -26
  253. package/dist/cjs/config/background/background-aws-config.js +0 -2
  254. package/dist/cjs/config/background/background-config.js +0 -2
  255. package/dist/cjs/config/background/background-error-processor.js +0 -2
  256. package/dist/cjs/config/background/background-processor.js +0 -2
  257. package/dist/cjs/config/background/background-transaction-log.js +0 -2
  258. package/dist/cjs/config/background/background-transaction-logger.js +0 -2
  259. package/dist/cjs/config/cron/abstract-cron-entry.js +0 -2
  260. package/dist/cjs/config/cron/cron-background-entry.js +0 -2
  261. package/dist/cjs/config/cron/cron-config.js +0 -2
  262. package/dist/cjs/config/dynamo-db-config.js +0 -2
  263. package/dist/cjs/config/epsilon-config.js +0 -2
  264. package/dist/cjs/config/epsilon-lambda-event-handler.js +0 -2
  265. package/dist/cjs/config/epsilon-logger-config.js +0 -2
  266. package/dist/cjs/config/generic-aws-event-handler-function.js +0 -2
  267. package/dist/cjs/config/http/authorizer-function.js +0 -2
  268. package/dist/cjs/config/http/epsilon-authorization-context.js +0 -2
  269. package/dist/cjs/config/http/extended-api-gateway-event.js +0 -2
  270. package/dist/cjs/config/http/filter-chain-context.js +0 -2
  271. package/dist/cjs/config/http/filter-function.js +0 -2
  272. package/dist/cjs/config/http/handler-function.js +0 -2
  273. package/dist/cjs/config/http/http-config.js +0 -2
  274. package/dist/cjs/config/http/http-processing-config.js +0 -2
  275. package/dist/cjs/config/http/mapped-http-processing-config.js +0 -2
  276. package/dist/cjs/config/http/null-returned-object-handling.js +0 -9
  277. package/dist/cjs/config/inter-api/inter-api-aws-config.js +0 -2
  278. package/dist/cjs/config/inter-api/inter-api-config.js +0 -2
  279. package/dist/cjs/config/inter-api/inter-api-process-mapping.js +0 -2
  280. package/dist/cjs/config/logging-trace-id-generator.js +0 -2
  281. package/dist/cjs/config/open-api/open-api-document-components.js +0 -2
  282. package/dist/cjs/config/open-api/open-api-document-path.js +0 -2
  283. package/dist/cjs/config/open-api/open-api-document.js +0 -2
  284. package/dist/cjs/config/s3-config.js +0 -2
  285. package/dist/cjs/config/sns-config.js +0 -2
  286. package/dist/cjs/epsilon-build-properties.js +0 -28
  287. package/dist/cjs/epsilon-constants.js +0 -49
  288. package/dist/cjs/epsilon-global-handler.js +0 -155
  289. package/dist/cjs/epsilon-instance.js +0 -2
  290. package/dist/cjs/epsilon-logging-extension-processor.js +0 -19
  291. package/dist/cjs/http/auth/api-gateway-adapter-authentication-handler.js +0 -75
  292. package/dist/cjs/http/auth/auth0-web-token-manipulator.js +0 -62
  293. package/dist/cjs/http/auth/basic-auth-token.js +0 -2
  294. package/dist/cjs/http/auth/google-web-token-manipulator.js +0 -72
  295. package/dist/cjs/http/auth/jwt-ratchet-local-web-token-manipulator.js +0 -29
  296. package/dist/cjs/http/auth/local-web-token-manipulator.js +0 -74
  297. package/dist/cjs/http/auth/web-token-manipulator.js +0 -2
  298. package/dist/cjs/http/error/bad-gateway.js +0 -12
  299. package/dist/cjs/http/error/bad-request-error.js +0 -12
  300. package/dist/cjs/http/error/conflict-error.js +0 -12
  301. package/dist/cjs/http/error/epsilon-http-error.js +0 -132
  302. package/dist/cjs/http/error/forbidden-error.js +0 -12
  303. package/dist/cjs/http/error/gateway-timeout.js +0 -12
  304. package/dist/cjs/http/error/method-not-allowed-error.js +0 -12
  305. package/dist/cjs/http/error/misconfigured-error.js +0 -12
  306. package/dist/cjs/http/error/not-found-error.js +0 -12
  307. package/dist/cjs/http/error/not-implemented.js +0 -12
  308. package/dist/cjs/http/error/request-timeout-error.js +0 -12
  309. package/dist/cjs/http/error/service-unavailable.js +0 -12
  310. package/dist/cjs/http/error/too-many-requests-error.js +0 -12
  311. package/dist/cjs/http/error/unauthorized-error.js +0 -12
  312. package/dist/cjs/http/event-util.js +0 -180
  313. package/dist/cjs/http/response-util.js +0 -146
  314. package/dist/cjs/http/route/epsilon-router.js +0 -2
  315. package/dist/cjs/http/route/extended-auth-response-context.js +0 -2
  316. package/dist/cjs/http/route/route-mapping.js +0 -2
  317. package/dist/cjs/http/route/route-validator-config.js +0 -2
  318. package/dist/cjs/http/route/router-util.js +0 -238
  319. package/dist/cjs/http/web-handler.js +0 -122
  320. package/dist/cjs/http/web-v2-handler.js +0 -25
  321. package/dist/cjs/index.js +0 -135
  322. package/dist/cjs/inter-api/inter-api-entry.js +0 -2
  323. package/dist/cjs/inter-api/inter-api-util.js +0 -62
  324. package/dist/cjs/inter-api-manager.js +0 -67
  325. package/dist/cjs/lambda-event-handler/cron-epsilon-lambda-event-handler.js +0 -76
  326. package/dist/cjs/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +0 -36
  327. package/dist/cjs/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +0 -32
  328. package/dist/cjs/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +0 -26
  329. package/dist/cjs/lambda-event-handler/s3-epsilon-lambda-event-handler.js +0 -44
  330. package/dist/cjs/local-container-server.js +0 -77
  331. package/dist/cjs/local-server-cert.js +0 -71
  332. package/dist/cjs/local-server.js +0 -164
  333. package/dist/cjs/open-api-util/open-api-doc-modifications.js +0 -2
  334. package/dist/cjs/open-api-util/open-api-doc-modifier.js +0 -83
  335. package/dist/cjs/open-api-util/yaml-combiner.js +0 -32
  336. package/dist/cjs/sample/sample-server-components.js +0 -188
  337. package/dist/cjs/sample/sample-server-static-files.js +0 -597
  338. package/dist/cjs/sample/test-error-server.js +0 -47
  339. package/dist/cjs/util/aws-util.js +0 -69
  340. package/dist/cjs/util/context-util.js +0 -104
  341. package/dist/cjs/util/cron-util.js +0 -72
  342. package/dist/cjs/util/epsilon-config-parser.js +0 -71
  343. package/dist/es/index.js +0 -132
  344. package/dist/es/local-server-cert.js +0 -67
  345. package/dist/es/sample/sample-server-static-files.js +0 -593
  346. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  347. package/dist/tsconfig.es.tsbuildinfo +0 -1
  348. package/dist/tsconfig.types.tsbuildinfo +0 -1
  349. package/dist/types/built-in/daemon/daemon-process-state-list.d.ts +0 -8
  350. package/dist/types/cli-bootstrap/run-background-process-from-command-line.d.ts +0 -12
  351. package/dist/types/config/cron/cron-background-entry.d.ts +0 -15
  352. package/dist/types/config/inter-api/inter-api-process-mapping.d.ts +0 -11
  353. package/dist/types/epsilon-logging-extension-processor.d.ts +0 -5
  354. package/dist/types/http/route/epsilon-router.d.ts +0 -8
  355. package/dist/types/index.d.ts +0 -135
  356. /package/dist/{types/background → background}/background-entry.d.ts +0 -0
  357. /package/dist/{es/background → background}/background-entry.js +0 -0
  358. /package/dist/{types/background → background}/background-execution-event-type.d.ts +0 -0
  359. /package/dist/{es/background → background}/background-execution-event-type.js +0 -0
  360. /package/dist/{es/background → background}/background-execution-event.js +0 -0
  361. /package/dist/{es/background → background}/background-execution-listener.js +0 -0
  362. /package/dist/{types/background → background}/background-meta-response-internal.d.ts +0 -0
  363. /package/dist/{es/background → background}/background-meta-response-internal.js +0 -0
  364. /package/dist/{types/background → background}/background-process-handling.d.ts +0 -0
  365. /package/dist/{es/background → background}/background-process-handling.js +0 -0
  366. /package/dist/{types/background → background}/background-process-log-table-entry.d.ts +0 -0
  367. /package/dist/{es/background → background}/background-process-log-table-entry.js +0 -0
  368. /package/dist/{es/background → background}/background-queue-response-internal.js +0 -0
  369. /package/dist/{types/background → background}/epsilon-background-process-error.d.ts +0 -0
  370. /package/dist/{es/background → background}/internal-background-entry.js +0 -0
  371. /package/dist/{es/background → background}/manager/background-manager-like.js +0 -0
  372. /package/dist/{es/built-in/background/sample-input-validated-processor-data.js → background/manager/background-manager.spec.d.ts} +0 -0
  373. /package/dist/{es/build → build}/ratchet-epsilon-common-info.js +0 -0
  374. /package/dist/{types/built-in → built-in}/background/sample-input-validated-processor-data.d.ts +0 -0
  375. /package/dist/{es/built-in/daemon/daemon-authorizer-function.js → built-in/background/sample-input-validated-processor-data.js} +0 -0
  376. /package/dist/{types/built-in → built-in}/built-in-trace-id-generators.d.ts +0 -0
  377. /package/dist/{es/built-in/daemon/daemon-config.js → built-in/daemon/daemon-authorizer-function.js} +0 -0
  378. /package/dist/{es/built-in/daemon/daemon-group-selection-function.js → built-in/daemon/daemon-config.js} +0 -0
  379. /package/dist/{es/built-in/daemon/daemon-process-state-list.js → built-in/daemon/daemon-group-selection-function.js} +0 -0
  380. /package/dist/{es/config/background/background-aws-config.js → built-in/daemon/daemon-process-state-list.js} +0 -0
  381. /package/dist/{es/config/background/background-config.js → built-in/http/run-handler-as-filter.spec.d.ts} +0 -0
  382. /package/dist/{types/config → config}/background/background-aws-config.d.ts +0 -0
  383. /package/dist/{es/config/background/background-error-processor.js → config/background/background-aws-config.js} +0 -0
  384. /package/dist/{es/config/background/background-processor.js → config/background/background-config.js} +0 -0
  385. /package/dist/{es/config/background/background-transaction-log.js → config/background/background-error-processor.js} +0 -0
  386. /package/dist/{es/config/background/background-transaction-logger.js → config/background/background-processor.js} +0 -0
  387. /package/dist/{es/config/cron/abstract-cron-entry.js → config/background/background-transaction-log.js} +0 -0
  388. /package/dist/{es/config/cron/cron-background-entry.js → config/background/background-transaction-logger.js} +0 -0
  389. /package/dist/{types/config → config}/cron/abstract-cron-entry.d.ts +0 -0
  390. /package/dist/{es/config/cron/cron-config.js → config/cron/abstract-cron-entry.js} +0 -0
  391. /package/dist/{es/config/dynamo-db-config.js → config/cron/cron-background-entry.js} +0 -0
  392. /package/dist/{es/config/epsilon-config.js → config/cron/cron-config.js} +0 -0
  393. /package/dist/{es/config/epsilon-lambda-event-handler.js → config/dynamo-db-config.js} +0 -0
  394. /package/dist/{es/config/epsilon-logger-config.js → config/epsilon-config.js} +0 -0
  395. /package/dist/{types/config → config}/epsilon-lambda-event-handler.d.ts +0 -0
  396. /package/dist/{es/config/generic-aws-event-handler-function.js → config/epsilon-lambda-event-handler.js} +0 -0
  397. /package/dist/{es/config/http/authorizer-function.js → config/epsilon-logger-config.js} +0 -0
  398. /package/dist/{types/config → config}/generic-aws-event-handler-function.d.ts +0 -0
  399. /package/dist/{es/config/http/epsilon-authorization-context.js → config/generic-aws-event-handler-function.js} +0 -0
  400. /package/dist/{es/config/http/extended-api-gateway-event.js → config/http/authorizer-function.js} +0 -0
  401. /package/dist/{types/config → config}/http/epsilon-authorization-context.d.ts +0 -0
  402. /package/dist/{es/config/http/filter-chain-context.js → config/http/epsilon-authorization-context.js} +0 -0
  403. /package/dist/{es/config/http/filter-function.js → config/http/extended-api-gateway-event.js} +0 -0
  404. /package/dist/{es/config/http/handler-function.js → config/http/filter-chain-context.js} +0 -0
  405. /package/dist/{es/config/http/http-config.js → config/http/filter-function.js} +0 -0
  406. /package/dist/{es/config/http/http-processing-config.js → config/http/handler-function.js} +0 -0
  407. /package/dist/{es/config/http/mapped-http-processing-config.js → config/http/http-config.js} +0 -0
  408. /package/dist/{es/config/inter-api/inter-api-aws-config.js → config/http/http-processing-config.js} +0 -0
  409. /package/dist/{es/config/inter-api/inter-api-config.js → config/http/mapped-http-processing-config.js} +0 -0
  410. /package/dist/{types/config → config}/http/null-returned-object-handling.d.ts +0 -0
  411. /package/dist/{es/config → config}/http/null-returned-object-handling.js +0 -0
  412. /package/dist/{types/config → config}/inter-api/inter-api-aws-config.d.ts +0 -0
  413. /package/dist/{es/config/inter-api/inter-api-process-mapping.js → config/inter-api/inter-api-aws-config.js} +0 -0
  414. /package/dist/{es/config/logging-trace-id-generator.js → config/inter-api/inter-api-config.js} +0 -0
  415. /package/dist/{es/config/open-api/open-api-document-components.js → config/inter-api/inter-api-process-mapping.js} +0 -0
  416. /package/dist/{types/config → config}/logging-trace-id-generator.d.ts +0 -0
  417. /package/dist/{es/config/open-api/open-api-document-path.js → config/logging-trace-id-generator.js} +0 -0
  418. /package/dist/{types/config → config}/open-api/open-api-document-components.d.ts +0 -0
  419. /package/dist/{es/config/open-api/open-api-document.js → config/open-api/open-api-document-components.js} +0 -0
  420. /package/dist/{types/config → config}/open-api/open-api-document-path.d.ts +0 -0
  421. /package/dist/{es/config/s3-config.js → config/open-api/open-api-document-path.js} +0 -0
  422. /package/dist/{es/config/sns-config.js → config/open-api/open-api-document.js} +0 -0
  423. /package/dist/{es/epsilon-instance.js → config/s3-config.js} +0 -0
  424. /package/dist/{es/http/auth/basic-auth-token.js → config/sns-config.js} +0 -0
  425. /package/dist/{types/epsilon-build-properties.d.ts → epsilon-build-properties.d.ts} +0 -0
  426. /package/dist/{es/http/auth/web-token-manipulator.js → epsilon-instance.js} +0 -0
  427. /package/dist/{es/http/route/epsilon-router.js → http/auth/basic-auth-token.js} +0 -0
  428. /package/dist/{es/http/route/extended-auth-response-context.js → http/auth/google-web-token-manipulator.spec.d.ts} +0 -0
  429. /package/dist/{es/http/route/route-mapping.js → http/auth/local-web-token-manipulator.spec.d.ts} +0 -0
  430. /package/dist/{es/http/route/route-validator-config.js → http/auth/web-token-manipulator.js} +0 -0
  431. /package/dist/{types/http → http}/error/epsilon-http-error.d.ts +0 -0
  432. /package/dist/{es/inter-api/inter-api-entry.js → http/error/epsilon-http-error.spec.d.ts} +0 -0
  433. /package/dist/{es/open-api-util/open-api-doc-modifications.js → http/event-util.spec.d.ts} +0 -0
  434. /package/dist/{types/http → http}/route/extended-auth-response-context.d.ts +0 -0
  435. /package/dist/{types/http → http}/route/route-validator-config.d.ts +0 -0
  436. /package/dist/{types/inter-api → inter-api}/inter-api-entry.d.ts +0 -0
  437. /package/dist/{types/local-server-cert.d.ts → local-server-cert.d.ts} +0 -0
  438. /package/dist/{types/open-api-util → open-api-util}/open-api-doc-modifications.d.ts +0 -0
  439. /package/dist/{types/open-api-util → open-api-util}/yaml-combiner.d.ts +0 -0
  440. /package/dist/{types/sample → sample}/sample-server-static-files.d.ts +0 -0
  441. /package/dist/{types/util → util}/aws-util.d.ts +0 -0
  442. /package/dist/{es/util → util}/aws-util.js +0 -0
@@ -1,4 +1,4 @@
1
- import { EpsilonHttpError } from './epsilon-http-error';
1
+ import { EpsilonHttpError } from './epsilon-http-error.js';
2
2
  export declare class UnauthorizedError<T = void> extends EpsilonHttpError<T> {
3
3
  static readonly HTTP_CODE: number;
4
4
  constructor(...errors: string[]);
@@ -1,8 +1,8 @@
1
- import { EpsilonHttpError } from './epsilon-http-error';
1
+ import { EpsilonHttpError } from './epsilon-http-error.js';
2
2
  export class UnauthorizedError extends EpsilonHttpError {
3
+ static HTTP_CODE = 401;
3
4
  constructor(...errors) {
4
5
  super(...errors);
5
6
  this.withHttpStatusCode(UnauthorizedError.HTTP_CODE);
6
7
  }
7
8
  }
8
- UnauthorizedError.HTTP_CODE = 401;
@@ -1,10 +1,7 @@
1
1
  import { APIGatewayEvent, APIGatewayEventRequestContext, AuthResponseContext } from 'aws-lambda';
2
- import { EpsilonLoggerConfig } from '../config/epsilon-logger-config';
3
- import { BasicAuthToken } from './auth/basic-auth-token';
4
- import { LoggerLevelName } from '@bitblit/ratchet-common';
5
- /**
6
- * Endpoints about the api itself
7
- */
2
+ import { EpsilonLoggerConfig } from '../config/epsilon-logger-config.js';
3
+ import { LoggerLevelName } from '@bitblit/ratchet-common/dist/logger/logger-level-name.js';
4
+ import { BasicAuthToken } from './auth/basic-auth-token.js';
8
5
  export declare class EventUtil {
9
6
  private constructor();
10
7
  static extractStage(event: APIGatewayEvent): string;
@@ -19,26 +16,7 @@ export declare class EventUtil {
19
16
  static extractFullPrefix(event: APIGatewayEvent, overrideProtocol?: string): string;
20
17
  static jsonBodyToObject(event: APIGatewayEvent): any;
21
18
  static calcLogLevelViaEventOrEnvParam(curLevel: LoggerLevelName, event: APIGatewayEvent, rConfig: EpsilonLoggerConfig): LoggerLevelName;
22
- /**
23
- * This is a weird function - sometimes your customers will not decode their query params and it
24
- * results in query params that look like 'amp;SOMETHING' instead of 'SOMETHING'. This function
25
- * looks for params that look like that, and strips the amp; from them. If you have any
26
- * params you are expecting that have 'amp;' in front of them, DON'T use this function.
27
- *
28
- * Also, you are a moron for having a param that looks like that
29
- *
30
- * Yes, it would be better to fix this on the client side, but that is not always an option
31
- * in production
32
- * @param event
33
- */
34
19
  static fixStillEncodedQueryParams(event: APIGatewayEvent): void;
35
- /**
36
- * Allows you to force in a token for an arbitrary event without having to pass the whole thing
37
- * through Epsilon. Useful for when you need to test a handler that needs authorization,
38
- * and don't need to instantiate all of epsilon, just the handler
39
- * @param event Event to decorate
40
- * @param jwtToken String containing a valid JWT token
41
- */
42
20
  static applyTokenToEventForTesting(event: APIGatewayEvent, jwtToken: string): void;
43
21
  static extractBasicAuthenticationToken(event: APIGatewayEvent, throwErrorOnMissingBad?: boolean): BasicAuthToken;
44
22
  static eventIsAGraphQLIntrospection(event: APIGatewayEvent): boolean;
@@ -1,12 +1,13 @@
1
- import { UnauthorizedError } from './error/unauthorized-error';
2
- import { Logger } from '@bitblit/ratchet-common';
3
- import { BadRequestError } from './error/bad-request-error';
4
- import { MapRatchet } from '@bitblit/ratchet-common';
1
+ import { UnauthorizedError } from './error/unauthorized-error.js';
2
+ import { BadRequestError } from './error/bad-request-error.js';
3
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
4
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
5
+ import { MapRatchet } from '@bitblit/ratchet-common/dist/lang/map-ratchet.js';
6
+ import { LoggerLevelName } from '@bitblit/ratchet-common/dist/logger/logger-level-name.js';
7
+ import { EnumRatchet } from '@bitblit/ratchet-common/dist/lang/enum-ratchet.js';
8
+ import { Base64Ratchet } from '@bitblit/ratchet-common/dist/lang/base64-ratchet.js';
5
9
  import jwt from 'jsonwebtoken';
6
- import { Base64Ratchet } from '@bitblit/ratchet-common';
7
- import { StringRatchet } from '@bitblit/ratchet-common';
8
- import { EpsilonConstants } from '../epsilon-constants';
9
- import { EnumRatchet, LoggerLevelName } from '@bitblit/ratchet-common';
10
+ import { EpsilonConstants } from '../epsilon-constants.js';
10
11
  export class EventUtil {
11
12
  constructor() { }
12
13
  static extractStage(event) {
@@ -0,0 +1,157 @@
1
+ import { EventUtil } from './event-util.js';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { EsmRatchet } from '@bitblit/ratchet-common/dist/lang/esm-ratchet.js';
5
+ describe('#eventUtil', function () {
6
+ it('should extract pieces', function () {
7
+ const evt = {
8
+ httpMethod: 'GET',
9
+ path: '/cw/meta/server',
10
+ body: null,
11
+ headers: {
12
+ Host: 'api.test.com',
13
+ 'X-Forwarded-Proto': 'https',
14
+ },
15
+ multiValueHeaders: {
16
+ Host: ['api.test.com'],
17
+ 'X-Forwarded-Proto': ['https'],
18
+ },
19
+ multiValueQueryStringParameters: null,
20
+ isBase64Encoded: false,
21
+ pathParameters: null,
22
+ queryStringParameters: null,
23
+ stageVariables: null,
24
+ resource: '/{proxy+}',
25
+ requestContext: {
26
+ httpMethod: 'GET',
27
+ accountId: '1234',
28
+ apiId: '7890',
29
+ stage: 'v0',
30
+ path: '/cw/meta/server',
31
+ domainName: 'api.test.com',
32
+ identity: null,
33
+ requestId: 'asdf1234',
34
+ requestTimeEpoch: 1234,
35
+ resourceId: '1234',
36
+ resourcePath: '/{proxy+}',
37
+ },
38
+ };
39
+ expect(EventUtil.extractStage(evt)).toEqual('cw');
40
+ expect(EventUtil.extractApiGatewayStage(evt)).toEqual('v0');
41
+ expect(EventUtil.extractFullPrefix(evt)).toEqual('https://api.test.com/cw');
42
+ expect(EventUtil.extractFullPath(evt)).toEqual('https://api.test.com/cw/meta/server');
43
+ expect(EventUtil.extractHostHeader(evt)).toEqual('api.test.com');
44
+ });
45
+ it('should fix still encoded query params', function () {
46
+ const evt = {
47
+ httpMethod: 'GET',
48
+ path: '/cw/meta/server',
49
+ body: null,
50
+ headers: {
51
+ Host: 'api.test.com',
52
+ 'X-Forwarded-Proto': 'https',
53
+ },
54
+ multiValueHeaders: {
55
+ Host: ['api.test.com'],
56
+ 'X-Forwarded-Proto': ['https'],
57
+ },
58
+ isBase64Encoded: false,
59
+ pathParameters: null,
60
+ multiValueQueryStringParameters: {
61
+ a: ['b'],
62
+ 'amp;c': ['d'],
63
+ },
64
+ queryStringParameters: {
65
+ a: 'b',
66
+ 'amp;c': 'd',
67
+ },
68
+ stageVariables: null,
69
+ resource: '/{proxy+}',
70
+ requestContext: {
71
+ httpMethod: 'GET',
72
+ accountId: '1234',
73
+ apiId: '7890',
74
+ stage: 'v0',
75
+ path: '/cw/meta/server',
76
+ domainName: 'api.test.com',
77
+ identity: null,
78
+ requestId: 'asdf1234',
79
+ requestTimeEpoch: 1234,
80
+ resourceId: '1234',
81
+ resourcePath: '/{proxy+}',
82
+ },
83
+ };
84
+ expect(evt.queryStringParameters['a']).toBeTruthy();
85
+ expect(evt.queryStringParameters['amp;c']).toBeTruthy();
86
+ expect(evt.queryStringParameters['c']).toBeUndefined();
87
+ EventUtil.fixStillEncodedQueryParams(evt);
88
+ expect(evt.queryStringParameters['a']).toBeTruthy();
89
+ expect(evt.queryStringParameters['amp;c']).toBeUndefined();
90
+ expect(evt.queryStringParameters['c']).toBeTruthy();
91
+ });
92
+ it('should extract basic auth from headers', function () {
93
+ const evt = {
94
+ httpMethod: 'GET',
95
+ path: '/cw/meta/server',
96
+ body: null,
97
+ headers: {
98
+ Host: 'api.test.com',
99
+ 'X-Forwarded-Proto': 'https',
100
+ Authorization: 'Basic dGVzdHVzZXI6dGVzdHBhc3M=',
101
+ },
102
+ multiValueHeaders: {
103
+ Host: ['api.test.com'],
104
+ 'X-Forwarded-Proto': ['https'],
105
+ Authorization: ['Basic dGVzdHVzZXI6dGVzdHBhc3M='],
106
+ },
107
+ isBase64Encoded: false,
108
+ pathParameters: null,
109
+ multiValueQueryStringParameters: {
110
+ a: ['b'],
111
+ 'amp;c': ['d'],
112
+ },
113
+ queryStringParameters: {
114
+ a: 'b',
115
+ 'amp;c': 'd',
116
+ },
117
+ stageVariables: null,
118
+ resource: '/{proxy+}',
119
+ requestContext: {
120
+ httpMethod: 'GET',
121
+ accountId: '1234',
122
+ apiId: '7890',
123
+ stage: 'v0',
124
+ path: '/cw/meta/server',
125
+ domainName: 'api.test.com',
126
+ identity: null,
127
+ requestId: 'asdf1234',
128
+ requestTimeEpoch: 1234,
129
+ resourceId: '1234',
130
+ resourcePath: '/{proxy+}',
131
+ },
132
+ };
133
+ const basic = EventUtil.extractBasicAuthenticationToken(evt);
134
+ expect(basic).toBeTruthy();
135
+ expect(basic.username).toBeTruthy();
136
+ expect(basic.password).toBeTruthy();
137
+ expect(basic.username).toEqual('testuser');
138
+ expect(basic.password).toEqual('testpass');
139
+ });
140
+ it('should add a token to an event, along with downstream stuff', function () {
141
+ const evt = JSON.parse(fs.readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/sample-json/sample-request-1.json')).toString());
142
+ const jwtToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1ODg1MzY3NzU4ODcsImlzcyI6Im5lb24uYWRvbW5pLmNvbSIsInN1YiI6ImJpdGJsaXRAZ21haWwuY29tIiwiaWF0IjoxNTg4NTMzMTc1ODg3LCJ1c2VyIjp7ImlkIjo2LCJmaXJzdE5hbWUiOiJDaHJpcyIsImxhc3ROYW1lIjoiV2Vpc3MiLCJjb21wYW55IjoiQWRvbW5pIiwiZW1haWwiOiJiaXRibGl0QGdtYWlsLmNvbSIsImN1c3RvbWVyVHlwZSI6IkFETUlOIn0sImFjdGluZ1VzZXJJZCI6NiwiZ2xvYmFsIjp0cnVlLCJhZG1pbiI6eyJpZCI6NiwiZmlyc3ROYW1lIjoiQ2hyaXMiLCJsYXN0TmFtZSI6IldlaXNzIiwiY29tcGFueSI6IkFkb21uaSIsImVtYWlsIjoiYml0YmxpdEBnbWFpbC5jb20iLCJjdXN0b21lclR5cGUiOiJBRE1JTiJ9LCJzdWJVc2VycyI6W119.mwRSek5GwkvxpN44UTp49W6_9U_ARsFXThAyiqaF-eQ';
143
+ EventUtil.applyTokenToEventForTesting(evt, jwtToken);
144
+ const roundTripTokenString = EventUtil.extractBearerTokenFromEvent(evt);
145
+ expect(roundTripTokenString).toEqual(jwtToken);
146
+ });
147
+ it('should check if an event is a graphql introspection', function () {
148
+ const evt1 = JSON.parse(fs.readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/sample-json/sample-request-1.json')).toString());
149
+ const evt2 = JSON.parse(fs
150
+ .readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/sample-json/sample-gql-introspection.json'))
151
+ .toString());
152
+ const res1 = EventUtil.eventIsAGraphQLIntrospection(evt1);
153
+ const res2 = EventUtil.eventIsAGraphQLIntrospection(evt2);
154
+ expect(res1).toBeFalsy();
155
+ expect(res2).toBeTruthy();
156
+ });
157
+ });
@@ -1,6 +1,6 @@
1
- /// <reference types="node" />
1
+ /// <reference types="node" resolution-mode="require"/>
2
2
  import { ProxyResult } from 'aws-lambda';
3
- import { EpsilonHttpError } from './error/epsilon-http-error';
3
+ import { EpsilonHttpError } from './error/epsilon-http-error.js';
4
4
  export declare class ResponseUtil {
5
5
  private constructor();
6
6
  static errorResponse<T>(err: EpsilonHttpError<T>): ProxyResult;
@@ -1,5 +1,5 @@
1
- import { Logger } from '@bitblit/ratchet-common';
2
- import { MapRatchet } from '@bitblit/ratchet-common';
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
+ import { MapRatchet } from '@bitblit/ratchet-common/dist/lang/map-ratchet.js';
3
3
  import zlib from 'zlib';
4
4
  export class ResponseUtil {
5
5
  constructor() { }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,88 @@
1
+ import { ResponseUtil } from './response-util.js';
2
+ import path from 'path';
3
+ import fs from 'fs';
4
+ import { BuiltInFilters } from '../built-in/http/built-in-filters.js';
5
+ import { EpsilonConstants } from '../epsilon-constants.js';
6
+ import { EsmRatchet } from '@bitblit/ratchet-common/dist/lang/esm-ratchet.js';
7
+ describe('#responseUtil', function () {
8
+ it('should correctly combine a redirect url and query params', function () {
9
+ const evt = {
10
+ httpMethod: 'get',
11
+ multiValueHeaders: {},
12
+ multiValueQueryStringParameters: {},
13
+ path: '/v0/meta/server',
14
+ body: null,
15
+ headers: null,
16
+ isBase64Encoded: false,
17
+ pathParameters: null,
18
+ stageVariables: null,
19
+ resource: null,
20
+ queryStringParameters: {
21
+ a: 'b',
22
+ c: 'd',
23
+ },
24
+ requestContext: {
25
+ stage: 'v0',
26
+ },
27
+ };
28
+ const out1 = ResponseUtil.redirect('myTarget?e=f', 301, evt.queryStringParameters);
29
+ expect(out1).toBeTruthy();
30
+ expect(out1.headers).toBeTruthy();
31
+ expect(out1.headers.Location).toEqual('myTarget?e=f&a=b&c=d');
32
+ const out2 = ResponseUtil.redirect('myTarget', 301, evt.queryStringParameters);
33
+ expect(out2).toBeTruthy();
34
+ expect(out2.headers).toBeTruthy();
35
+ expect(out2.headers.Location).toEqual('myTarget?a=b&c=d');
36
+ });
37
+ it('should leave already encoded stuff alone', async () => {
38
+ const singlePixel = fs
39
+ .readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/test.png'))
40
+ .toString('base64');
41
+ const temp = {
42
+ body: singlePixel,
43
+ statusCode: 200,
44
+ isBase64Encoded: true,
45
+ headers: {
46
+ 'content-type': 'application/zip',
47
+ 'content-disposition': 'attachment; filename="adomni_bs_' + new Date().getTime() + '.zip"',
48
+ },
49
+ };
50
+ const cast = ResponseUtil.coerceToProxyResult(temp);
51
+ expect(cast.body).toEqual(temp.body);
52
+ const gzip = await ResponseUtil.applyGzipIfPossible('gzip', cast);
53
+ expect(cast.body).toEqual(gzip.body);
54
+ });
55
+ it('should add cors to proxy result MATCH 1', async () => {
56
+ const evt = JSON.parse(fs.readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/sample-json/sample-request-1.json')).toString());
57
+ const proxy = {};
58
+ const fCtx = {
59
+ event: evt,
60
+ rawResult: null,
61
+ context: null,
62
+ result: proxy,
63
+ routeAndParse: null,
64
+ modelValidator: null,
65
+ authenticators: null,
66
+ };
67
+ await BuiltInFilters.addAllowReflectionCORSHeaders(fCtx);
68
+ expect(proxy.headers).toBeTruthy();
69
+ expect(proxy.headers['Access-Control-Allow-Origin']).toEqual('http://localhost:4200');
70
+ expect(proxy.headers['Access-Control-Allow-Methods']).toEqual('GET');
71
+ expect(proxy.headers['Access-Control-Allow-Headers']).toEqual(EpsilonConstants.AUTH_HEADER_NAME.toLowerCase());
72
+ });
73
+ it('should add cors to proxy result MATCH 2', async () => {
74
+ const evt = JSON.parse(fs.readFileSync(path.join(EsmRatchet.fetchDirName(), '../../../../test-data/epsilon/sample-json/sample-request-2.json')).toString());
75
+ const proxy = {};
76
+ const fCtx = {
77
+ event: evt,
78
+ rawResult: null,
79
+ context: null,
80
+ result: proxy,
81
+ routeAndParse: null,
82
+ modelValidator: null,
83
+ authenticators: null,
84
+ };
85
+ await BuiltInFilters.addAllowReflectionCORSHeaders(fCtx);
86
+ expect(proxy.headers).toBeTruthy();
87
+ });
88
+ });
@@ -0,0 +1,8 @@
1
+ import { RouteMapping } from './route-mapping.js';
2
+ import { ModelValidator } from '@bitblit/ratchet-misc/dist/model-validator/model-validator.js';
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 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import { RouteValidatorConfig } from './route-validator-config';
2
- import { HandlerFunction } from '../../config/http/handler-function';
3
- import { HttpProcessingConfig } from '../../config/http/http-processing-config';
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
4
  export interface RouteMapping {
5
5
  method: string;
6
6
  path: string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,15 +1,12 @@
1
- import { EpsilonRouter } from './epsilon-router';
2
- import { OpenApiDocument } from '../../config/open-api/open-api-document';
3
- import { ModelValidator } from '@bitblit/ratchet-misc';
4
- import { BackgroundHttpAdapterHandler } from '../../background/background-http-adapter-handler';
5
- import { HttpConfig } from '../../config/http/http-config';
6
- import { HttpProcessingConfig } from '../../config/http/http-processing-config';
7
- import { WebTokenManipulator } from '../auth/web-token-manipulator';
8
- import { FilterFunction } from '../../config/http/filter-function';
9
- import { JwtTokenBase } from '@bitblit/ratchet-common';
10
- /**
11
- * Endpoints about the api itself
12
- */
1
+ import { EpsilonRouter } from './epsilon-router.js';
2
+ import { JwtTokenBase } from '@bitblit/ratchet-common/dist/jwt/jwt-token-base.js';
3
+ import { OpenApiDocument } from '../../config/open-api/open-api-document.js';
4
+ import { ModelValidator } from '@bitblit/ratchet-misc/dist/model-validator/model-validator.js';
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';
13
10
  export declare class RouterUtil {
14
11
  private constructor();
15
12
  static defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator: WebTokenManipulator<JwtTokenBase>): FilterFunction[];
@@ -1,11 +1,11 @@
1
- import { MisconfiguredError } from '../error/misconfigured-error';
2
- import { Logger } from '@bitblit/ratchet-common';
3
- import { BooleanRatchet } from '@bitblit/ratchet-common';
4
- import { NullReturnedObjectHandling } from '../../config/http/null-returned-object-handling';
5
- import { BuiltInFilters } from '../../built-in/http/built-in-filters';
6
- import { BuiltInHandlers } from '../../built-in/http/built-in-handlers';
7
- import { BuiltInAuthFilters } from '../../built-in/http/built-in-auth-filters';
8
- import { LogLevelManipulationFilter } from '../../built-in/http/log-level-manipulation-filter';
1
+ import { MisconfiguredError } from '../error/misconfigured-error.js';
2
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
3
+ import { BooleanRatchet } from '@bitblit/ratchet-common/dist/lang/boolean-ratchet.js';
4
+ import { NullReturnedObjectHandling } from '../../config/http/null-returned-object-handling.js';
5
+ import { BuiltInFilters } from '../../built-in/http/built-in-filters.js';
6
+ import { BuiltInHandlers } from '../../built-in/http/built-in-handlers.js';
7
+ import { BuiltInAuthFilters } from '../../built-in/http/built-in-auth-filters.js';
8
+ import { LogLevelManipulationFilter } from '../../built-in/http/log-level-manipulation-filter.js';
9
9
  export class RouterUtil {
10
10
  constructor() { }
11
11
  static defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator) {
@@ -49,7 +49,7 @@ export class RouterUtil {
49
49
  static defaultHttpMetaProcessingConfigWithAuthenticationHeaderParsing(webTokenManipulator) {
50
50
  const defaults = {
51
51
  configName: 'EpsilonDefaultHttpMetaProcessingConfig',
52
- timeoutMS: 30000,
52
+ timeoutMS: 30_000,
53
53
  overrideAuthorizerName: null,
54
54
  preFilters: RouterUtil.defaultAuthenticationHeaderParsingEpsilonPreFilters(webTokenManipulator),
55
55
  postFilters: RouterUtil.defaultEpsilonPostFilters(),
@@ -61,7 +61,7 @@ export class RouterUtil {
61
61
  static defaultHttpMetaProcessingConfig() {
62
62
  const defaults = {
63
63
  configName: 'EpsilonDefaultHttpMetaProcessingConfig',
64
- timeoutMS: 30000,
64
+ timeoutMS: 30_000,
65
65
  overrideAuthorizerName: null,
66
66
  preFilters: RouterUtil.defaultEpsilonPreFilters(),
67
67
  postFilters: RouterUtil.defaultEpsilonPostFilters(),
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { RouterUtil } from './router-util.js';
2
+ import { SampleServerComponents } from '../../sample/sample-server-components.js';
3
+ describe('#routerUtilApplyOpenApiDoc', function () {
4
+ it('should create a router config from a yaml file', async () => {
5
+ const inst = await SampleServerComponents.createSampleEpsilonGlobalHandler('routerUtilApplyOpenApiDoc-jest');
6
+ expect(inst.epsilon.modelValidator).toBeTruthy();
7
+ expect(inst.epsilon.modelValidator.fetchModel('AccessTokenRequest')).toBeTruthy();
8
+ const evt = {
9
+ httpMethod: 'get',
10
+ path: '/v0/meta/server',
11
+ requestContext: {
12
+ stage: 'v0',
13
+ },
14
+ };
15
+ const find = await inst.epsilon.webHandler.findBestMatchingRoute(evt);
16
+ expect(find).toBeTruthy();
17
+ });
18
+ it('should reformat a path to match the other library', function () {
19
+ const inString = '/meta/item/{itemId}';
20
+ const outString = RouterUtil.openApiPathToRouteParserPath(inString);
21
+ expect(outString).toEqual('/meta/item/:itemId');
22
+ });
23
+ });
@@ -1,12 +1,9 @@
1
- import { EpsilonRouter } from './route/epsilon-router';
1
+ import { EpsilonRouter } from './route/epsilon-router.js';
2
2
  import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
3
3
  import Route from 'route-parser';
4
- import { RouteMapping } from './route/route-mapping';
5
- import { ExtendedAPIGatewayEvent } from '../config/http/extended-api-gateway-event';
6
- import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
7
- /**
8
- * This class functions as the adapter from a default lambda function to the handlers exposed via Epsilon
9
- */
4
+ import { RouteMapping } from './route/route-mapping.js';
5
+ import { ExtendedAPIGatewayEvent } from '../config/http/extended-api-gateway-event.js';
6
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler.js';
10
7
  export declare class WebHandler implements EpsilonLambdaEventHandler<APIGatewayEvent> {
11
8
  private routerConfig;
12
9
  static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
@@ -1,14 +1,16 @@
1
- import { Logger } from '@bitblit/ratchet-common';
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
2
  import Route from 'route-parser';
3
- import { ResponseUtil } from './response-util';
4
- import { RequireRatchet } from '@bitblit/ratchet-common';
5
- import { EpsilonHttpError } from './error/epsilon-http-error';
6
- import { BuiltInFilters } from '../built-in/http/built-in-filters';
7
- import { RunHandlerAsFilter } from '../built-in/http/run-handler-as-filter';
8
- import { ContextUtil } from '../util/context-util';
9
- import { StringRatchet } from '@bitblit/ratchet-common';
10
- import { LambdaEventDetector } from '@bitblit/ratchet-aws';
3
+ import { ResponseUtil } from './response-util.js';
4
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
5
+ import { EpsilonHttpError } from './error/epsilon-http-error.js';
6
+ import { BuiltInFilters } from '../built-in/http/built-in-filters.js';
7
+ import { RunHandlerAsFilter } from '../built-in/http/run-handler-as-filter.js';
8
+ import { ContextUtil } from '../util/context-util.js';
9
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
10
+ import { LambdaEventDetector } from '@bitblit/ratchet-aws/dist/lambda/lambda-event-detector.js';
11
11
  export class WebHandler {
12
+ routerConfig;
13
+ static MAXIMUM_LAMBDA_BODY_SIZE_BYTES = 1024 * 1024 * 5 - 1024 * 100;
12
14
  constructor(routerConfig) {
13
15
  this.routerConfig = routerConfig;
14
16
  RequireRatchet.notNullOrUndefined(routerConfig);
@@ -113,4 +115,3 @@ export class WebHandler {
113
115
  return rval;
114
116
  }
115
117
  }
116
- WebHandler.MAXIMUM_LAMBDA_BODY_SIZE_BYTES = 1024 * 1024 * 5 - 1024 * 100;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
2
+ import { SampleServerComponents } from '../sample/sample-server-components.js';
3
+ import { LoggerLevelName } from '@bitblit/ratchet-common/dist/logger/logger-level-name.js';
4
+ describe('#errorToProxyResult', function () {
5
+ it('should gzip responses correctly', async () => {
6
+ const inst = await SampleServerComponents.createSampleEpsilonGlobalHandler('jest-gzip');
7
+ expect(inst.epsilon.modelValidator).toBeTruthy();
8
+ const evt = {
9
+ httpMethod: 'get',
10
+ multiValueHeaders: {},
11
+ multiValueQueryStringParameters: {},
12
+ path: '/meta/server',
13
+ pathParameters: null,
14
+ queryStringParameters: null,
15
+ stageVariables: null,
16
+ requestContext: {},
17
+ resource: '/meta/server',
18
+ headers: {
19
+ 'content-type': 'application/json; charset=UTF-8',
20
+ 'accept-encoding': 'gzip, deflate, br',
21
+ },
22
+ isBase64Encoded: true,
23
+ body: null,
24
+ };
25
+ Logger.setLevel(LoggerLevelName.silly);
26
+ const result = await inst.epsilon.webHandler.processEvent(evt, {});
27
+ expect(result).toBeTruthy();
28
+ expect(result.isBase64Encoded).toEqual(true);
29
+ expect(result.headers).toBeTruthy();
30
+ expect(result.headers['Content-Encoding']).toEqual('gzip');
31
+ });
32
+ });
@@ -1,9 +1,6 @@
1
1
  import { APIGatewayProxyEventV2, Context, ProxyResult } from 'aws-lambda';
2
- import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
3
- import { WebHandler } from './web-handler';
4
- /**
5
- * This class functions as the adapter from a default lambda function to the handlers exposed via Epsilon
6
- */
2
+ import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler.js';
3
+ import { WebHandler } from './web-handler.js';
7
4
  export declare class WebV2Handler implements EpsilonLambdaEventHandler<APIGatewayProxyEventV2> {
8
5
  private webHandler;
9
6
  constructor(webHandler: WebHandler);
@@ -1,6 +1,7 @@
1
- import { AwsUtil } from '../util/aws-util';
2
- import { LambdaEventDetector } from '@bitblit/ratchet-aws';
1
+ import { AwsUtil } from '../util/aws-util.js';
2
+ import { LambdaEventDetector } from '@bitblit/ratchet-aws/dist/lambda/lambda-event-detector.js';
3
3
  export class WebV2Handler {
4
+ webHandler;
4
5
  constructor(webHandler) {
5
6
  this.webHandler = webHandler;
6
7
  }
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { SNSEvent } from 'aws-lambda';
2
- import { InterApiEntry } from './inter-api-entry';
3
- import { InterApiConfig } from '../config/inter-api/inter-api-config';
4
- import { BackgroundManagerLike } from '../background/manager/background-manager-like';
2
+ import { InterApiEntry } from './inter-api-entry.js';
3
+ import { InterApiConfig } from '../config/inter-api/inter-api-config.js';
4
+ import { BackgroundManagerLike } from '../background/manager/background-manager-like.js';
5
5
  export declare class InterApiUtil {
6
6
  static isInterApiSnsEvent(event: any): boolean;
7
7
  static extractEntryFromEvent(evt: SNSEvent): InterApiEntry<any>;
@@ -1,8 +1,9 @@
1
- import { LambdaEventDetector } from '@bitblit/ratchet-aws';
2
- import { EpsilonConstants } from '../epsilon-constants';
3
- import { RequireRatchet } from '@bitblit/ratchet-common';
4
- import { Logger, StringRatchet } from '@bitblit/ratchet-common';
5
- import { ContextUtil } from '../util/context-util';
1
+ import { LambdaEventDetector } from '@bitblit/ratchet-aws/dist/lambda/lambda-event-detector.js';
2
+ import { EpsilonConstants } from '../epsilon-constants.js';
3
+ import { RequireRatchet } from '@bitblit/ratchet-common/dist/lang/require-ratchet.js';
4
+ import { Logger } from '@bitblit/ratchet-common/dist/logger/logger.js';
5
+ import { StringRatchet } from '@bitblit/ratchet-common/dist/lang/string-ratchet.js';
6
+ import { ContextUtil } from '../util/context-util.js';
6
7
  export class InterApiUtil {
7
8
  static isInterApiSnsEvent(event) {
8
9
  return !!InterApiUtil.extractEntryFromEvent(event);
@@ -0,0 +1 @@
1
+ export {};