@bitblit/ratchet-epsilon-common 4.0.85-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.
- package/CHANGELOG.md +177 -0
- package/License.txt +13 -0
- package/README.md +242 -0
- package/dist/cjs/background/background-dynamo-log-table-handler.js +38 -0
- package/dist/cjs/background/background-entry.js +2 -0
- package/dist/cjs/background/background-execution-event-type.js +11 -0
- package/dist/cjs/background/background-execution-event.js +2 -0
- package/dist/cjs/background/background-execution-listener.js +2 -0
- package/dist/cjs/background/background-handler.js +269 -0
- package/dist/cjs/background/background-http-adapter-handler.js +127 -0
- package/dist/cjs/background/background-meta-response-internal.js +2 -0
- package/dist/cjs/background/background-process-handling.js +8 -0
- package/dist/cjs/background/background-process-log-table-entry.js +2 -0
- package/dist/cjs/background/background-queue-response-internal.js +2 -0
- package/dist/cjs/background/background-validator.js +88 -0
- package/dist/cjs/background/epsilon-background-process-error.js +93 -0
- package/dist/cjs/background/internal-background-entry.js +2 -0
- package/dist/cjs/background/manager/abstract-background-manager.js +92 -0
- package/dist/cjs/background/manager/aws-sqs-sns-background-manager.js +153 -0
- package/dist/cjs/background/manager/background-manager-like.js +2 -0
- package/dist/cjs/background/manager/single-thread-local-background-manager.js +49 -0
- package/dist/cjs/background/s3-background-transaction-logger.js +54 -0
- package/dist/cjs/build/ratchet-epsilon-common-info.js +18 -0
- package/dist/cjs/built-in/background/echo-processor.js +18 -0
- package/dist/cjs/built-in/background/log-and-enqueue-echo-processor.js +16 -0
- package/dist/cjs/built-in/background/log-message-background-error-processor.js +10 -0
- package/dist/cjs/built-in/background/no-op-processor.js +13 -0
- package/dist/cjs/built-in/background/retry-processor.js +41 -0
- package/dist/cjs/built-in/background/sample-delay-processor.js +16 -0
- package/dist/cjs/built-in/background/sample-input-validated-processor-data.js +2 -0
- package/dist/cjs/built-in/background/sample-input-validated-processor.js +16 -0
- package/dist/cjs/built-in/built-in-trace-id-generators.js +25 -0
- package/dist/cjs/built-in/daemon/daemon-authorizer-function.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-config.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-group-selection-function.js +2 -0
- package/dist/cjs/built-in/daemon/daemon-handler.js +62 -0
- package/dist/cjs/built-in/daemon/daemon-process-state-list.js +2 -0
- package/dist/cjs/built-in/http/apollo-filter.js +63 -0
- package/dist/cjs/built-in/http/built-in-auth-filters.js +115 -0
- package/dist/cjs/built-in/http/built-in-authorizers.js +43 -0
- package/dist/cjs/built-in/http/built-in-filters.js +222 -0
- package/dist/cjs/built-in/http/built-in-handlers.js +73 -0
- package/dist/cjs/built-in/http/log-level-manipulation-filter.js +20 -0
- package/dist/cjs/built-in/http/run-handler-as-filter.js +64 -0
- package/dist/cjs/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +20 -0
- package/dist/cjs/config/background/background-aws-config.js +2 -0
- package/dist/cjs/config/background/background-config.js +2 -0
- package/dist/cjs/config/background/background-error-processor.js +2 -0
- package/dist/cjs/config/background/background-processor.js +2 -0
- package/dist/cjs/config/background/background-transaction-log.js +2 -0
- package/dist/cjs/config/background/background-transaction-logger.js +2 -0
- package/dist/cjs/config/cron/abstract-cron-entry.js +2 -0
- package/dist/cjs/config/cron/cron-background-entry.js +2 -0
- package/dist/cjs/config/cron/cron-config.js +2 -0
- package/dist/cjs/config/dynamo-db-config.js +2 -0
- package/dist/cjs/config/epsilon-config.js +2 -0
- package/dist/cjs/config/epsilon-lambda-event-handler.js +2 -0
- package/dist/cjs/config/epsilon-logger-config.js +2 -0
- package/dist/cjs/config/generic-aws-event-handler-function.js +2 -0
- package/dist/cjs/config/http/authorizer-function.js +2 -0
- package/dist/cjs/config/http/epsilon-authorization-context.js +2 -0
- package/dist/cjs/config/http/extended-api-gateway-event.js +2 -0
- package/dist/cjs/config/http/filter-chain-context.js +2 -0
- package/dist/cjs/config/http/filter-function.js +2 -0
- package/dist/cjs/config/http/handler-function.js +2 -0
- package/dist/cjs/config/http/http-config.js +2 -0
- package/dist/cjs/config/http/http-processing-config.js +2 -0
- package/dist/cjs/config/http/mapped-http-processing-config.js +2 -0
- package/dist/cjs/config/http/null-returned-object-handling.js +9 -0
- package/dist/cjs/config/inter-api/inter-api-aws-config.js +2 -0
- package/dist/cjs/config/inter-api/inter-api-config.js +2 -0
- package/dist/cjs/config/inter-api/inter-api-process-mapping.js +2 -0
- package/dist/cjs/config/logging-trace-id-generator.js +2 -0
- package/dist/cjs/config/open-api/open-api-document-components.js +2 -0
- package/dist/cjs/config/open-api/open-api-document-path.js +2 -0
- package/dist/cjs/config/open-api/open-api-document.js +2 -0
- package/dist/cjs/config/s3-config.js +2 -0
- package/dist/cjs/config/sns-config.js +2 -0
- package/dist/cjs/epsilon-build-properties.js +28 -0
- package/dist/cjs/epsilon-constants.js +49 -0
- package/dist/cjs/epsilon-global-handler.js +155 -0
- package/dist/cjs/epsilon-instance.js +2 -0
- package/dist/cjs/epsilon-logging-extension-processor.js +19 -0
- package/dist/cjs/http/auth/api-gateway-adapter-authentication-handler.js +75 -0
- package/dist/cjs/http/auth/auth0-web-token-manipulator.js +62 -0
- package/dist/cjs/http/auth/basic-auth-token.js +2 -0
- package/dist/cjs/http/auth/google-web-token-manipulator.js +72 -0
- package/dist/cjs/http/auth/jwt-ratchet-local-web-token-manipulator.js +29 -0
- package/dist/cjs/http/auth/local-web-token-manipulator.js +74 -0
- package/dist/cjs/http/auth/web-token-manipulator.js +2 -0
- package/dist/cjs/http/error/bad-gateway.js +12 -0
- package/dist/cjs/http/error/bad-request-error.js +12 -0
- package/dist/cjs/http/error/conflict-error.js +12 -0
- package/dist/cjs/http/error/epsilon-http-error.js +132 -0
- package/dist/cjs/http/error/forbidden-error.js +12 -0
- package/dist/cjs/http/error/gateway-timeout.js +12 -0
- package/dist/cjs/http/error/method-not-allowed-error.js +12 -0
- package/dist/cjs/http/error/misconfigured-error.js +12 -0
- package/dist/cjs/http/error/not-found-error.js +12 -0
- package/dist/cjs/http/error/not-implemented.js +12 -0
- package/dist/cjs/http/error/request-timeout-error.js +12 -0
- package/dist/cjs/http/error/service-unavailable.js +12 -0
- package/dist/cjs/http/error/too-many-requests-error.js +12 -0
- package/dist/cjs/http/error/unauthorized-error.js +12 -0
- package/dist/cjs/http/event-util.js +180 -0
- package/dist/cjs/http/response-util.js +146 -0
- package/dist/cjs/http/route/epsilon-router.js +2 -0
- package/dist/cjs/http/route/extended-auth-response-context.js +2 -0
- package/dist/cjs/http/route/route-mapping.js +2 -0
- package/dist/cjs/http/route/route-validator-config.js +2 -0
- package/dist/cjs/http/route/router-util.js +238 -0
- package/dist/cjs/http/web-handler.js +122 -0
- package/dist/cjs/http/web-v2-handler.js +25 -0
- package/dist/cjs/index.js +136 -0
- package/dist/cjs/inter-api/inter-api-entry.js +2 -0
- package/dist/cjs/inter-api/inter-api-util.js +62 -0
- package/dist/cjs/inter-api-manager.js +67 -0
- package/dist/cjs/lambda-event-handler/cron-epsilon-lambda-event-handler.js +76 -0
- package/dist/cjs/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +36 -0
- package/dist/cjs/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +32 -0
- package/dist/cjs/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +26 -0
- package/dist/cjs/lambda-event-handler/s3-epsilon-lambda-event-handler.js +44 -0
- package/dist/cjs/local-container-server.js +79 -0
- package/dist/cjs/local-server-cert.js +71 -0
- package/dist/cjs/local-server.js +145 -0
- package/dist/cjs/open-api-util/open-api-doc-modifications.js +2 -0
- package/dist/cjs/open-api-util/open-api-doc-modifier.js +83 -0
- package/dist/cjs/open-api-util/yaml-combiner.js +32 -0
- package/dist/cjs/run-background-process-from-command-line.js +37 -0
- package/dist/cjs/sample/sample-batch-only-local-server.js +19 -0
- package/dist/cjs/sample/sample-local-server.js +30 -0
- package/dist/cjs/sample/sample-server-components.js +197 -0
- package/dist/cjs/test-error-server.js +48 -0
- package/dist/cjs/util/aws-util.js +69 -0
- package/dist/cjs/util/context-util.js +104 -0
- package/dist/cjs/util/cron-util.js +72 -0
- package/dist/cjs/util/epsilon-config-parser.js +70 -0
- package/dist/es/background/background-dynamo-log-table-handler.js +33 -0
- package/dist/es/background/background-entry.js +1 -0
- package/dist/es/background/background-execution-event-type.js +8 -0
- package/dist/es/background/background-execution-event.js +1 -0
- package/dist/es/background/background-execution-listener.js +1 -0
- package/dist/es/background/background-handler.js +265 -0
- package/dist/es/background/background-http-adapter-handler.js +123 -0
- package/dist/es/background/background-meta-response-internal.js +1 -0
- package/dist/es/background/background-process-handling.js +5 -0
- package/dist/es/background/background-process-log-table-entry.js +1 -0
- package/dist/es/background/background-queue-response-internal.js +1 -0
- package/dist/es/background/background-validator.js +84 -0
- package/dist/es/background/epsilon-background-process-error.js +88 -0
- package/dist/es/background/internal-background-entry.js +1 -0
- package/dist/es/background/manager/abstract-background-manager.js +88 -0
- package/dist/es/background/manager/aws-sqs-sns-background-manager.js +149 -0
- package/dist/es/background/manager/background-manager-like.js +1 -0
- package/dist/es/background/manager/single-thread-local-background-manager.js +45 -0
- package/dist/es/background/s3-background-transaction-logger.js +49 -0
- package/dist/es/build/ratchet-epsilon-common-info.js +14 -0
- package/dist/es/built-in/background/echo-processor.js +14 -0
- package/dist/es/built-in/background/log-and-enqueue-echo-processor.js +12 -0
- package/dist/es/built-in/background/log-message-background-error-processor.js +6 -0
- package/dist/es/built-in/background/no-op-processor.js +9 -0
- package/dist/es/built-in/background/retry-processor.js +36 -0
- package/dist/es/built-in/background/sample-delay-processor.js +12 -0
- package/dist/es/built-in/background/sample-input-validated-processor-data.js +1 -0
- package/dist/es/built-in/background/sample-input-validated-processor.js +12 -0
- package/dist/es/built-in/built-in-trace-id-generators.js +21 -0
- package/dist/es/built-in/daemon/daemon-authorizer-function.js +1 -0
- package/dist/es/built-in/daemon/daemon-config.js +1 -0
- package/dist/es/built-in/daemon/daemon-group-selection-function.js +1 -0
- package/dist/es/built-in/daemon/daemon-handler.js +58 -0
- package/dist/es/built-in/daemon/daemon-process-state-list.js +1 -0
- package/dist/es/built-in/http/apollo-filter.js +58 -0
- package/dist/es/built-in/http/built-in-auth-filters.js +107 -0
- package/dist/es/built-in/http/built-in-authorizers.js +39 -0
- package/dist/es/built-in/http/built-in-filters.js +208 -0
- package/dist/es/built-in/http/built-in-handlers.js +69 -0
- package/dist/es/built-in/http/log-level-manipulation-filter.js +16 -0
- package/dist/es/built-in/http/run-handler-as-filter.js +60 -0
- package/dist/es/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.js +17 -0
- package/dist/es/config/background/background-aws-config.js +1 -0
- package/dist/es/config/background/background-config.js +1 -0
- package/dist/es/config/background/background-error-processor.js +1 -0
- package/dist/es/config/background/background-processor.js +1 -0
- package/dist/es/config/background/background-transaction-log.js +1 -0
- package/dist/es/config/background/background-transaction-logger.js +1 -0
- package/dist/es/config/cron/abstract-cron-entry.js +1 -0
- package/dist/es/config/cron/cron-background-entry.js +1 -0
- package/dist/es/config/cron/cron-config.js +1 -0
- package/dist/es/config/dynamo-db-config.js +1 -0
- package/dist/es/config/epsilon-config.js +1 -0
- package/dist/es/config/epsilon-lambda-event-handler.js +1 -0
- package/dist/es/config/epsilon-logger-config.js +1 -0
- package/dist/es/config/generic-aws-event-handler-function.js +1 -0
- package/dist/es/config/http/authorizer-function.js +1 -0
- package/dist/es/config/http/epsilon-authorization-context.js +1 -0
- package/dist/es/config/http/extended-api-gateway-event.js +1 -0
- package/dist/es/config/http/filter-chain-context.js +1 -0
- package/dist/es/config/http/filter-function.js +1 -0
- package/dist/es/config/http/handler-function.js +1 -0
- package/dist/es/config/http/http-config.js +1 -0
- package/dist/es/config/http/http-processing-config.js +1 -0
- package/dist/es/config/http/mapped-http-processing-config.js +1 -0
- package/dist/es/config/http/null-returned-object-handling.js +6 -0
- package/dist/es/config/inter-api/inter-api-aws-config.js +1 -0
- package/dist/es/config/inter-api/inter-api-config.js +1 -0
- package/dist/es/config/inter-api/inter-api-process-mapping.js +1 -0
- package/dist/es/config/logging-trace-id-generator.js +1 -0
- package/dist/es/config/open-api/open-api-document-components.js +1 -0
- package/dist/es/config/open-api/open-api-document-path.js +1 -0
- package/dist/es/config/open-api/open-api-document.js +1 -0
- package/dist/es/config/s3-config.js +1 -0
- package/dist/es/config/sns-config.js +1 -0
- package/dist/es/epsilon-build-properties.js +24 -0
- package/dist/es/epsilon-constants.js +45 -0
- package/dist/es/epsilon-global-handler.js +149 -0
- package/dist/es/epsilon-instance.js +1 -0
- package/dist/es/epsilon-logging-extension-processor.js +15 -0
- package/dist/es/http/auth/api-gateway-adapter-authentication-handler.js +71 -0
- package/dist/es/http/auth/auth0-web-token-manipulator.js +56 -0
- package/dist/es/http/auth/basic-auth-token.js +1 -0
- package/dist/es/http/auth/google-web-token-manipulator.js +67 -0
- package/dist/es/http/auth/jwt-ratchet-local-web-token-manipulator.js +25 -0
- package/dist/es/http/auth/local-web-token-manipulator.js +70 -0
- package/dist/es/http/auth/web-token-manipulator.js +1 -0
- package/dist/es/http/error/bad-gateway.js +8 -0
- package/dist/es/http/error/bad-request-error.js +8 -0
- package/dist/es/http/error/conflict-error.js +8 -0
- package/dist/es/http/error/epsilon-http-error.js +127 -0
- package/dist/es/http/error/forbidden-error.js +8 -0
- package/dist/es/http/error/gateway-timeout.js +8 -0
- package/dist/es/http/error/method-not-allowed-error.js +8 -0
- package/dist/es/http/error/misconfigured-error.js +8 -0
- package/dist/es/http/error/not-found-error.js +8 -0
- package/dist/es/http/error/not-implemented.js +8 -0
- package/dist/es/http/error/request-timeout-error.js +8 -0
- package/dist/es/http/error/service-unavailable.js +8 -0
- package/dist/es/http/error/too-many-requests-error.js +8 -0
- package/dist/es/http/error/unauthorized-error.js +8 -0
- package/dist/es/http/event-util.js +175 -0
- package/dist/es/http/response-util.js +141 -0
- package/dist/es/http/route/epsilon-router.js +1 -0
- package/dist/es/http/route/extended-auth-response-context.js +1 -0
- package/dist/es/http/route/route-mapping.js +1 -0
- package/dist/es/http/route/route-validator-config.js +1 -0
- package/dist/es/http/route/router-util.js +233 -0
- package/dist/es/http/web-handler.js +116 -0
- package/dist/es/http/web-v2-handler.js +21 -0
- package/dist/es/index.js +133 -0
- package/dist/es/inter-api/inter-api-entry.js +1 -0
- package/dist/es/inter-api/inter-api-util.js +58 -0
- package/dist/es/inter-api-manager.js +63 -0
- package/dist/es/lambda-event-handler/cron-epsilon-lambda-event-handler.js +72 -0
- package/dist/es/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +32 -0
- package/dist/es/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +28 -0
- package/dist/es/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +22 -0
- package/dist/es/lambda-event-handler/s3-epsilon-lambda-event-handler.js +40 -0
- package/dist/es/local-container-server.js +74 -0
- package/dist/es/local-server-cert.js +67 -0
- package/dist/es/local-server.js +140 -0
- package/dist/es/open-api-util/open-api-doc-modifications.js +1 -0
- package/dist/es/open-api-util/open-api-doc-modifier.js +78 -0
- package/dist/es/open-api-util/yaml-combiner.js +27 -0
- package/dist/es/run-background-process-from-command-line.js +32 -0
- package/dist/es/sample/sample-batch-only-local-server.js +17 -0
- package/dist/es/sample/sample-local-server.js +28 -0
- package/dist/es/sample/sample-server-components.js +192 -0
- package/dist/es/test-error-server.js +43 -0
- package/dist/es/util/aws-util.js +65 -0
- package/dist/es/util/context-util.js +95 -0
- package/dist/es/util/cron-util.js +68 -0
- package/dist/es/util/epsilon-config-parser.js +64 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.es.tsbuildinfo +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/background/background-dynamo-log-table-handler.d.ts +11 -0
- package/dist/types/background/background-entry.d.ts +4 -0
- package/dist/types/background/background-execution-event-type.d.ts +7 -0
- package/dist/types/background/background-execution-event.d.ts +8 -0
- package/dist/types/background/background-execution-listener.d.ts +5 -0
- package/dist/types/background/background-handler.d.ts +33 -0
- package/dist/types/background/background-http-adapter-handler.d.ts +26 -0
- package/dist/types/background/background-meta-response-internal.d.ts +5 -0
- package/dist/types/background/background-process-handling.d.ts +4 -0
- package/dist/types/background/background-process-log-table-entry.d.ts +11 -0
- package/dist/types/background/background-queue-response-internal.d.ts +8 -0
- package/dist/types/background/background-validator.d.ts +20 -0
- package/dist/types/background/epsilon-background-process-error.d.ts +30 -0
- package/dist/types/background/internal-background-entry.d.ts +7 -0
- package/dist/types/background/manager/abstract-background-manager.d.ts +26 -0
- package/dist/types/background/manager/aws-sqs-sns-background-manager.d.ts +30 -0
- package/dist/types/background/manager/background-manager-like.d.ts +24 -0
- package/dist/types/background/manager/single-thread-local-background-manager.d.ts +22 -0
- package/dist/types/background/s3-background-transaction-logger.d.ts +17 -0
- package/dist/types/build/ratchet-epsilon-common-info.d.ts +5 -0
- package/dist/types/built-in/background/echo-processor.d.ts +7 -0
- package/dist/types/built-in/background/log-and-enqueue-echo-processor.d.ts +6 -0
- package/dist/types/built-in/background/log-message-background-error-processor.d.ts +5 -0
- package/dist/types/built-in/background/no-op-processor.d.ts +6 -0
- package/dist/types/built-in/background/retry-processor.d.ts +16 -0
- package/dist/types/built-in/background/sample-delay-processor.d.ts +6 -0
- package/dist/types/built-in/background/sample-input-validated-processor-data.d.ts +4 -0
- package/dist/types/built-in/background/sample-input-validated-processor.d.ts +8 -0
- package/dist/types/built-in/built-in-trace-id-generators.d.ts +5 -0
- package/dist/types/built-in/daemon/daemon-authorizer-function.d.ts +5 -0
- package/dist/types/built-in/daemon/daemon-config.d.ts +8 -0
- package/dist/types/built-in/daemon/daemon-group-selection-function.d.ts +4 -0
- package/dist/types/built-in/daemon/daemon-handler.d.ts +22 -0
- package/dist/types/built-in/daemon/daemon-process-state-list.d.ts +8 -0
- package/dist/types/built-in/http/apollo-filter.d.ts +10 -0
- package/dist/types/built-in/http/built-in-auth-filters.d.ts +9 -0
- package/dist/types/built-in/http/built-in-authorizers.d.ts +8 -0
- package/dist/types/built-in/http/built-in-filters.d.ts +25 -0
- package/dist/types/built-in/http/built-in-handlers.d.ts +9 -0
- package/dist/types/built-in/http/log-level-manipulation-filter.d.ts +9 -0
- package/dist/types/built-in/http/run-handler-as-filter.d.ts +12 -0
- package/dist/types/cli-bootstrap/epsilon-run-background-process-from-command-line-dry-run.d.ts +2 -0
- package/dist/types/config/background/background-aws-config.d.ts +7 -0
- package/dist/types/config/background/background-config.d.ts +14 -0
- package/dist/types/config/background/background-error-processor.d.ts +4 -0
- package/dist/types/config/background/background-processor.d.ts +6 -0
- package/dist/types/config/background/background-transaction-log.d.ts +8 -0
- package/dist/types/config/background/background-transaction-logger.d.ts +5 -0
- package/dist/types/config/cron/abstract-cron-entry.d.ts +12 -0
- package/dist/types/config/cron/cron-background-entry.d.ts +15 -0
- package/dist/types/config/cron/cron-config.d.ts +6 -0
- package/dist/types/config/dynamo-db-config.d.ts +5 -0
- package/dist/types/config/epsilon-config.d.ts +20 -0
- package/dist/types/config/epsilon-lambda-event-handler.d.ts +7 -0
- package/dist/types/config/epsilon-logger-config.d.ts +12 -0
- package/dist/types/config/generic-aws-event-handler-function.d.ts +3 -0
- package/dist/types/config/http/authorizer-function.d.ts +6 -0
- package/dist/types/config/http/epsilon-authorization-context.d.ts +5 -0
- package/dist/types/config/http/extended-api-gateway-event.d.ts +7 -0
- package/dist/types/config/http/filter-chain-context.d.ts +14 -0
- package/dist/types/config/http/filter-function.d.ts +4 -0
- package/dist/types/config/http/handler-function.d.ts +5 -0
- package/dist/types/config/http/http-config.d.ts +15 -0
- package/dist/types/config/http/http-processing-config.d.ts +11 -0
- package/dist/types/config/http/mapped-http-processing-config.d.ts +7 -0
- package/dist/types/config/http/null-returned-object-handling.d.ts +5 -0
- package/dist/types/config/inter-api/inter-api-aws-config.d.ts +5 -0
- package/dist/types/config/inter-api/inter-api-config.d.ts +6 -0
- package/dist/types/config/inter-api/inter-api-process-mapping.d.ts +11 -0
- package/dist/types/config/logging-trace-id-generator.d.ts +4 -0
- package/dist/types/config/open-api/open-api-document-components.d.ts +4 -0
- package/dist/types/config/open-api/open-api-document-path.d.ts +2 -0
- package/dist/types/config/open-api/open-api-document.d.ts +6 -0
- package/dist/types/config/s3-config.d.ts +6 -0
- package/dist/types/config/sns-config.d.ts +5 -0
- package/dist/types/epsilon-build-properties.d.ts +9 -0
- package/dist/types/epsilon-constants.d.ts +16 -0
- package/dist/types/epsilon-global-handler.d.ts +23 -0
- package/dist/types/epsilon-instance.d.ts +19 -0
- package/dist/types/epsilon-logging-extension-processor.d.ts +5 -0
- package/dist/types/http/auth/api-gateway-adapter-authentication-handler.d.ts +18 -0
- package/dist/types/http/auth/auth0-web-token-manipulator.d.ts +13 -0
- package/dist/types/http/auth/basic-auth-token.d.ts +7 -0
- package/dist/types/http/auth/google-web-token-manipulator.d.ts +14 -0
- package/dist/types/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +13 -0
- package/dist/types/http/auth/local-web-token-manipulator.d.ts +20 -0
- package/dist/types/http/auth/web-token-manipulator.d.ts +7 -0
- package/dist/types/http/error/bad-gateway.d.ts +5 -0
- package/dist/types/http/error/bad-request-error.d.ts +5 -0
- package/dist/types/http/error/conflict-error.d.ts +5 -0
- package/dist/types/http/error/epsilon-http-error.d.ts +41 -0
- package/dist/types/http/error/forbidden-error.d.ts +5 -0
- package/dist/types/http/error/gateway-timeout.d.ts +5 -0
- package/dist/types/http/error/method-not-allowed-error.d.ts +5 -0
- package/dist/types/http/error/misconfigured-error.d.ts +5 -0
- package/dist/types/http/error/not-found-error.d.ts +5 -0
- package/dist/types/http/error/not-implemented.d.ts +5 -0
- package/dist/types/http/error/request-timeout-error.d.ts +5 -0
- package/dist/types/http/error/service-unavailable.d.ts +5 -0
- package/dist/types/http/error/too-many-requests-error.d.ts +5 -0
- package/dist/types/http/error/unauthorized-error.d.ts +5 -0
- package/dist/types/http/event-util.d.ts +47 -0
- package/dist/types/http/response-util.d.ts +11 -0
- package/dist/types/http/route/epsilon-router.d.ts +8 -0
- package/dist/types/http/route/extended-auth-response-context.d.ts +6 -0
- package/dist/types/http/route/route-mapping.d.ts +12 -0
- package/dist/types/http/route/route-validator-config.d.ts +5 -0
- package/dist/types/http/route/router-util.d.ts +26 -0
- package/dist/types/http/web-handler.d.ts +26 -0
- package/dist/types/http/web-v2-handler.d.ts +13 -0
- package/dist/types/index.d.ts +136 -0
- package/dist/types/inter-api/inter-api-entry.d.ts +7 -0
- package/dist/types/inter-api/inter-api-util.d.ts +10 -0
- package/dist/types/inter-api-manager.d.ts +17 -0
- package/dist/types/lambda-event-handler/cron-epsilon-lambda-event-handler.d.ts +14 -0
- package/dist/types/lambda-event-handler/dynamo-epsilon-lambda-event-handler.d.ts +11 -0
- package/dist/types/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/lambda-event-handler/inter-api-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/lambda-event-handler/s3-epsilon-lambda-event-handler.d.ts +10 -0
- package/dist/types/local-container-server.d.ts +13 -0
- package/dist/types/local-server-cert.d.ts +5 -0
- package/dist/types/local-server.d.ts +19 -0
- package/dist/types/open-api-util/open-api-doc-modifications.d.ts +8 -0
- package/dist/types/open-api-util/open-api-doc-modifier.d.ts +10 -0
- package/dist/types/open-api-util/yaml-combiner.d.ts +3 -0
- package/dist/types/run-background-process-from-command-line.d.ts +13 -0
- package/dist/types/sample/sample-batch-only-local-server.d.ts +1 -0
- package/dist/types/sample/sample-local-server.d.ts +1 -0
- package/dist/types/sample/sample-server-components.d.ts +12 -0
- package/dist/types/test-error-server.d.ts +13 -0
- package/dist/types/util/aws-util.d.ts +8 -0
- package/dist/types/util/context-util.d.ts +33 -0
- package/dist/types/util/cron-util.d.ts +11 -0
- package/dist/types/util/epsilon-config-parser.d.ts +14 -0
- package/package.json +132 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BackgroundExecutionListener } from './background-execution-listener';
|
|
2
|
+
import { BackgroundExecutionEvent } from './background-execution-event';
|
|
3
|
+
import { DynamoRatchetLike } from '@bitblit/ratchet-aws';
|
|
4
|
+
export declare class BackgroundDynamoLogTableHandler<T> implements BackgroundExecutionListener<T> {
|
|
5
|
+
private dynamo;
|
|
6
|
+
private tableName;
|
|
7
|
+
private env;
|
|
8
|
+
private backgroundQueueName;
|
|
9
|
+
constructor(dynamo: DynamoRatchetLike, tableName: string, env: string, backgroundQueueName: string);
|
|
10
|
+
onEvent(event: BackgroundExecutionEvent<T>): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare enum BackgroundExecutionEventType {
|
|
2
|
+
ProcessStarting = "ProcessStarting",
|
|
3
|
+
DataValidationError = "DataValidationError",
|
|
4
|
+
ExecutionSuccessfullyComplete = "ExecutionSuccessfullyComplete",
|
|
5
|
+
ExecutionFailedError = "ExecutionRuntimeError",
|
|
6
|
+
NoMatchProcessorName = "NoMatchProcessorName"
|
|
7
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Context, ProxyResult, SNSEvent } from 'aws-lambda';
|
|
2
|
+
import { ModelValidator } from '@bitblit/ratchet-misc';
|
|
3
|
+
import { BackgroundConfig } from '../config/background/background-config';
|
|
4
|
+
import { InternalBackgroundEntry } from './internal-background-entry';
|
|
5
|
+
import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler';
|
|
6
|
+
import { BackgroundManagerLike } from './manager/background-manager-like';
|
|
7
|
+
/**
|
|
8
|
+
* We use a FIFO queue so that 2 different Lambdas don't both work on the same
|
|
9
|
+
* thing at the same time.
|
|
10
|
+
*/
|
|
11
|
+
export declare class BackgroundHandler implements EpsilonLambdaEventHandler<SNSEvent> {
|
|
12
|
+
private cfg;
|
|
13
|
+
private mgr;
|
|
14
|
+
private modelValidator?;
|
|
15
|
+
private processors;
|
|
16
|
+
private validator;
|
|
17
|
+
constructor(cfg: BackgroundConfig, mgr: BackgroundManagerLike, modelValidator?: ModelValidator);
|
|
18
|
+
extractLabel(evt: SNSEvent, context: Context): string;
|
|
19
|
+
handlesEvent(evt: any): boolean;
|
|
20
|
+
isBackgroundSNSEvent(event: any): boolean;
|
|
21
|
+
isBackgroundStartSnsEvent(event: any): boolean;
|
|
22
|
+
isBackgroundImmediateFireEvent(event: any): boolean;
|
|
23
|
+
parseImmediateFireBackgroundEntry(event: any): InternalBackgroundEntry<any>;
|
|
24
|
+
processEvent(event: any, context: Context): Promise<ProxyResult>;
|
|
25
|
+
private takeAndProcessSingleBackgroundQueueEntry;
|
|
26
|
+
private safeWriteToLogger;
|
|
27
|
+
private conditionallyStartTransactionLog;
|
|
28
|
+
private conditionallyCompleteTransactionLog;
|
|
29
|
+
private conditionallyRunErrorProcessor;
|
|
30
|
+
private fireListenerEvent;
|
|
31
|
+
processSingleBackgroundEntry(e: InternalBackgroundEntry<any>): Promise<boolean>;
|
|
32
|
+
getConfig(): BackgroundConfig;
|
|
33
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Context } from 'aws-lambda';
|
|
2
|
+
import { ExtendedAPIGatewayEvent } from '../config/http/extended-api-gateway-event';
|
|
3
|
+
import { BackgroundQueueResponseInternal } from './background-queue-response-internal';
|
|
4
|
+
import { BackgroundConfig } from '../config/background/background-config';
|
|
5
|
+
import { ModelValidator } from '@bitblit/ratchet-misc';
|
|
6
|
+
import { BackgroundMetaResponseInternal } from './background-meta-response-internal';
|
|
7
|
+
import { BackgroundTransactionLog } from '../config/background/background-transaction-log';
|
|
8
|
+
import { BackgroundManagerLike } from './manager/background-manager-like';
|
|
9
|
+
/**
|
|
10
|
+
* We use a FIFO queue so that 2 different Lambdas don't both work on the same
|
|
11
|
+
* thing at the same time.
|
|
12
|
+
*/
|
|
13
|
+
export declare class BackgroundHttpAdapterHandler {
|
|
14
|
+
private backgroundConfig;
|
|
15
|
+
private modelValidator;
|
|
16
|
+
private backgroundManager;
|
|
17
|
+
private maxWaitInMsForBackgroundJobToStart;
|
|
18
|
+
constructor(backgroundConfig: BackgroundConfig, modelValidator: ModelValidator, backgroundManager: BackgroundManagerLike, maxWaitInMsForBackgroundJobToStart?: number);
|
|
19
|
+
get httpMetaEndpoint(): string;
|
|
20
|
+
get httpSubmissionPath(): string;
|
|
21
|
+
get httpStatusPath(): string;
|
|
22
|
+
get implyTypeFromPathSuffix(): boolean;
|
|
23
|
+
handleBackgroundStatusRequest(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundTransactionLog>;
|
|
24
|
+
handleBackgroundMetaRequest(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundMetaResponseInternal>;
|
|
25
|
+
handleBackgroundSubmission(evt: ExtendedAPIGatewayEvent, context: Context): Promise<BackgroundQueueResponseInternal>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BackgroundProcessHandling } from './background-process-handling';
|
|
2
|
+
export interface BackgroundQueueResponseInternal {
|
|
3
|
+
processHandling: BackgroundProcessHandling;
|
|
4
|
+
startProcessorRequested: boolean;
|
|
5
|
+
success: boolean;
|
|
6
|
+
resultId: string;
|
|
7
|
+
error: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModelValidator } from '@bitblit/ratchet-misc';
|
|
2
|
+
import { BackgroundConfig } from '../config/background/background-config';
|
|
3
|
+
import { BackgroundEntry } from './background-entry';
|
|
4
|
+
import { BackgroundProcessor } from '../config/background/background-processor';
|
|
5
|
+
import { BackgroundAwsConfig } from '../config/background/background-aws-config';
|
|
6
|
+
/**
|
|
7
|
+
* Handles all submission of work to the background processing system.
|
|
8
|
+
*/
|
|
9
|
+
export declare class BackgroundValidator {
|
|
10
|
+
private cfg;
|
|
11
|
+
private modelValidator;
|
|
12
|
+
constructor(cfg: BackgroundConfig, modelValidator: ModelValidator);
|
|
13
|
+
findProcessor(typeName: string): BackgroundProcessor<any>;
|
|
14
|
+
validType(type: string): boolean;
|
|
15
|
+
validateEntry<T>(entry: BackgroundEntry<T>): string[];
|
|
16
|
+
validateEntryAndThrowException<T>(entry: BackgroundEntry<T>): void;
|
|
17
|
+
static validateAndMapProcessors(processorInput: BackgroundProcessor<any>[], modelValidator: ModelValidator): Map<string, BackgroundProcessor<any>>;
|
|
18
|
+
static validateAwsConfig(cfg: BackgroundAwsConfig): string[];
|
|
19
|
+
static validateConfig(cfg: BackgroundConfig): string[];
|
|
20
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare class EpsilonBackgroundProcessError<T = void> extends Error {
|
|
2
|
+
private static readonly EPSILON_BACKGROUND_PROCESS_ERROR_FLAG_KEY;
|
|
3
|
+
private _errors;
|
|
4
|
+
private _detailErrorCode;
|
|
5
|
+
private _details;
|
|
6
|
+
private _requestId;
|
|
7
|
+
private _wrappedError;
|
|
8
|
+
constructor(...errors: string[]);
|
|
9
|
+
static combineErrorStringsWithDefault(errors: string[], defMessage?: string): string;
|
|
10
|
+
setFormattedErrorMessage(format: string, ...input: any[]): void;
|
|
11
|
+
withFormattedErrorMessage(format: string, ...input: any[]): EpsilonBackgroundProcessError<T>;
|
|
12
|
+
withErrors(errors: string[]): EpsilonBackgroundProcessError<T>;
|
|
13
|
+
withDetailErrorCode(detailErrorCode: number): EpsilonBackgroundProcessError<T>;
|
|
14
|
+
withDetails(details: T): EpsilonBackgroundProcessError<T>;
|
|
15
|
+
withRequestId(requestId: string): EpsilonBackgroundProcessError<T>;
|
|
16
|
+
withWrappedError(err: Error): EpsilonBackgroundProcessError<T>;
|
|
17
|
+
isWrappedError(): boolean;
|
|
18
|
+
static wrapError<T = void>(err: Error): EpsilonBackgroundProcessError<T>;
|
|
19
|
+
static objectIsEpsilonBackgroundProcessError(obj: any): boolean;
|
|
20
|
+
set errors(value: string[]);
|
|
21
|
+
get errors(): string[];
|
|
22
|
+
set detailErrorCode(value: number);
|
|
23
|
+
get detailErrorCode(): number;
|
|
24
|
+
set details(value: T);
|
|
25
|
+
get details(): T;
|
|
26
|
+
set requestId(value: string);
|
|
27
|
+
get requestId(): string;
|
|
28
|
+
set wrappedError(value: Error);
|
|
29
|
+
get wrappedError(): Error;
|
|
30
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BackgroundEntry } from '../background-entry';
|
|
2
|
+
import { InternalBackgroundEntry } from '../internal-background-entry';
|
|
3
|
+
import { BackgroundManagerLike } from './background-manager-like';
|
|
4
|
+
/**
|
|
5
|
+
* Handles all submission of work to the background processing system.
|
|
6
|
+
*
|
|
7
|
+
* Note that this does NOT validate the input, it just passes it along. This is
|
|
8
|
+
* because it creates a circular reference to the processors if we try since they
|
|
9
|
+
* define the type and validation.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class AbstractBackgroundManager implements BackgroundManagerLike {
|
|
12
|
+
abstract addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
|
|
13
|
+
abstract fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
|
|
14
|
+
abstract fireStartProcessingRequest(): Promise<string>;
|
|
15
|
+
abstract fetchApproximateNumberOfQueueEntries(): Promise<number>;
|
|
16
|
+
abstract get backgroundManagerName(): string;
|
|
17
|
+
abstract takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
|
|
18
|
+
createEntry<T>(type: string, data?: T): BackgroundEntry<T>;
|
|
19
|
+
wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): InternalBackgroundEntry<T>;
|
|
20
|
+
addEntryToQueueByParts<T>(type: string, data?: T, fireStartMessage?: boolean): Promise<string>;
|
|
21
|
+
addEntriesToQueue(entries: BackgroundEntry<any>[], fireStartMessage?: boolean): Promise<string[]>;
|
|
22
|
+
fireImmediateProcessRequestByParts<T>(type: string, data?: T): Promise<string>;
|
|
23
|
+
static generateBackgroundGuid(targetEpochMS?: number): string;
|
|
24
|
+
static backgroundGuidToPath(prefix: string, guid: string): string;
|
|
25
|
+
static pathToBackgroundGuid(prefix: string, path: string): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GetQueueAttributesCommandOutput, SQSClient } from '@aws-sdk/client-sqs';
|
|
2
|
+
import { BackgroundEntry } from '../background-entry';
|
|
3
|
+
import { BackgroundAwsConfig } from '../../config/background/background-aws-config';
|
|
4
|
+
import { InternalBackgroundEntry } from '../internal-background-entry';
|
|
5
|
+
import { AbstractBackgroundManager } from './abstract-background-manager';
|
|
6
|
+
import { SNSClient } from '@aws-sdk/client-sns';
|
|
7
|
+
/**
|
|
8
|
+
* Handles all submission of work to the background processing system.
|
|
9
|
+
*
|
|
10
|
+
* Note that this does NOT validate the input, it just passes it along. This is
|
|
11
|
+
* because it creates a circular reference to the processors if we try since they
|
|
12
|
+
* define the type and validation.
|
|
13
|
+
*/
|
|
14
|
+
export declare class AwsSqsSnsBackgroundManager extends AbstractBackgroundManager {
|
|
15
|
+
private _awsConfig;
|
|
16
|
+
private _sqs;
|
|
17
|
+
private _sns;
|
|
18
|
+
constructor(_awsConfig: BackgroundAwsConfig, _sqs: SQSClient, _sns: SNSClient);
|
|
19
|
+
get backgroundManagerName(): string;
|
|
20
|
+
get awsConfig(): BackgroundAwsConfig;
|
|
21
|
+
get sqs(): SQSClient;
|
|
22
|
+
get sns(): SNSClient;
|
|
23
|
+
addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
|
|
24
|
+
fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
|
|
25
|
+
fireStartProcessingRequest(): Promise<string>;
|
|
26
|
+
fetchApproximateNumberOfQueueEntries(): Promise<number>;
|
|
27
|
+
fetchCurrentQueueAttributes(): Promise<GetQueueAttributesCommandOutput>;
|
|
28
|
+
writeMessageToSnsTopic(message: string): Promise<string>;
|
|
29
|
+
takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BackgroundEntry } from '../background-entry';
|
|
2
|
+
import { InternalBackgroundEntry } from '../internal-background-entry';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
/**
|
|
5
|
+
* Classes implementing this interface handle all submission of work to the background processing system.
|
|
6
|
+
*
|
|
7
|
+
* Note that these do NOT validate the input, they just passes it along. This is
|
|
8
|
+
* because it creates a circular reference to the processors if we try since they
|
|
9
|
+
* define the type and validation.
|
|
10
|
+
*/
|
|
11
|
+
export interface BackgroundManagerLike {
|
|
12
|
+
get backgroundManagerName(): string;
|
|
13
|
+
immediateProcessQueue?(): Subject<InternalBackgroundEntry<any>>;
|
|
14
|
+
createEntry<T>(type: string, data?: T): BackgroundEntry<T>;
|
|
15
|
+
wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): InternalBackgroundEntry<T>;
|
|
16
|
+
addEntryToQueueByParts<T>(type: string, data?: T, fireStartMessage?: boolean): Promise<string>;
|
|
17
|
+
addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
|
|
18
|
+
addEntriesToQueue(entries: BackgroundEntry<any>[], fireStartMessage?: boolean): Promise<string[]>;
|
|
19
|
+
fireImmediateProcessRequestByParts<T>(type: string, data?: T): Promise<string>;
|
|
20
|
+
fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
|
|
21
|
+
fireStartProcessingRequest(): Promise<string>;
|
|
22
|
+
fetchApproximateNumberOfQueueEntries(): Promise<number>;
|
|
23
|
+
takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { BackgroundEntry } from '../background-entry';
|
|
3
|
+
import { InternalBackgroundEntry } from '../internal-background-entry';
|
|
4
|
+
import { AbstractBackgroundManager } from './abstract-background-manager';
|
|
5
|
+
/**
|
|
6
|
+
* Handles all submission of work to the background processing system.
|
|
7
|
+
*
|
|
8
|
+
* Note that this does NOT validate the input, it just passes it along. This is
|
|
9
|
+
* because it creates a circular reference to the processors if we try since they
|
|
10
|
+
* define the type and validation.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SingleThreadLocalBackgroundManager extends AbstractBackgroundManager {
|
|
13
|
+
private _localBus;
|
|
14
|
+
get backgroundManagerName(): string;
|
|
15
|
+
constructor();
|
|
16
|
+
immediateProcessQueue?(): Subject<InternalBackgroundEntry<any>>;
|
|
17
|
+
addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
|
|
18
|
+
fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
|
|
19
|
+
fireStartProcessingRequest(): Promise<string>;
|
|
20
|
+
fetchApproximateNumberOfQueueEntries(): Promise<number>;
|
|
21
|
+
takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BackgroundTransactionLogger } from '../config/background/background-transaction-logger';
|
|
2
|
+
import { BackgroundTransactionLog } from '../config/background/background-transaction-log';
|
|
3
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
4
|
+
export declare class S3BackgroundTransactionLogger implements BackgroundTransactionLogger {
|
|
5
|
+
private cfg;
|
|
6
|
+
private s3TransactionLogCacheRatchet;
|
|
7
|
+
constructor(cfg: BackgroundS3TransactionLoggingConfig);
|
|
8
|
+
logTransaction(txLog: BackgroundTransactionLog): Promise<void>;
|
|
9
|
+
readTransactionLog(txGuid: string): Promise<BackgroundTransactionLog>;
|
|
10
|
+
static validateConfig(cfg: BackgroundS3TransactionLoggingConfig): string[];
|
|
11
|
+
}
|
|
12
|
+
export interface BackgroundS3TransactionLoggingConfig {
|
|
13
|
+
s3: S3Client;
|
|
14
|
+
bucket: string;
|
|
15
|
+
timeToLiveDays: number;
|
|
16
|
+
prefix?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
3
|
+
export declare class EchoProcessor implements BackgroundProcessor<any> {
|
|
4
|
+
static TYPE_NAME: string;
|
|
5
|
+
get typeName(): string;
|
|
6
|
+
handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
3
|
+
export declare class LogAndEnqueueEchoProcessor implements BackgroundProcessor<any> {
|
|
4
|
+
get typeName(): string;
|
|
5
|
+
handleEvent(data: any, cfg: BackgroundManagerLike): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BackgroundErrorProcessor } from '../../config/background/background-error-processor';
|
|
2
|
+
import { InternalBackgroundEntry } from '../../background/internal-background-entry';
|
|
3
|
+
export declare class LogMessageBackgroundErrorProcessor implements BackgroundErrorProcessor {
|
|
4
|
+
handleError(submission: InternalBackgroundEntry<any>, error: Error): Promise<void>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
3
|
+
export declare class NoOpProcessor implements BackgroundProcessor<any> {
|
|
4
|
+
get typeName(): string;
|
|
5
|
+
handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
3
|
+
export declare class RetryProcessor implements BackgroundProcessor<any> {
|
|
4
|
+
private delegate;
|
|
5
|
+
private opts;
|
|
6
|
+
private static readonly RETRY_FIELD_NAME;
|
|
7
|
+
constructor(delegate: BackgroundProcessor<any>, opts: RetryProcessorOptions);
|
|
8
|
+
get typeName(): string;
|
|
9
|
+
handleEvent(data: any, mgr: BackgroundManagerLike): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export interface RetryProcessorOptions {
|
|
12
|
+
retryCount?: number;
|
|
13
|
+
baseDelayMS?: number;
|
|
14
|
+
typePrefix?: string;
|
|
15
|
+
typeSuffix?: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
3
|
+
export declare class SampleDelayProcessor implements BackgroundProcessor<any> {
|
|
4
|
+
get typeName(): string;
|
|
5
|
+
handleEvent(data: any, mgr?: BackgroundManagerLike): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BackgroundProcessor } from '../../config/background/background-processor';
|
|
2
|
+
import { SampleInputValidatedProcessorData } from './sample-input-validated-processor-data';
|
|
3
|
+
import { BackgroundManagerLike } from '../../background/manager/background-manager-like';
|
|
4
|
+
export declare class SampleInputValidatedProcessor implements BackgroundProcessor<SampleInputValidatedProcessorData> {
|
|
5
|
+
get typeName(): string;
|
|
6
|
+
handleEvent(data: SampleInputValidatedProcessorData, mgr?: BackgroundManagerLike): Promise<void>;
|
|
7
|
+
get dataSchemaName(): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DaemonProcessState } from '@bitblit/ratchet-aws';
|
|
2
|
+
import { ExtendedAPIGatewayEvent } from '../../config/http/extended-api-gateway-event';
|
|
3
|
+
export interface DaemonAuthorizerFunction {
|
|
4
|
+
(evt: ExtendedAPIGatewayEvent, proc: DaemonProcessState): Promise<boolean>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DaemonAuthorizerFunction } from './daemon-authorizer-function';
|
|
2
|
+
import { DaemonGroupSelectionFunction } from './daemon-group-selection-function';
|
|
3
|
+
export interface DaemonConfig {
|
|
4
|
+
authorizer?: DaemonAuthorizerFunction;
|
|
5
|
+
groupSelector?: DaemonGroupSelectionFunction;
|
|
6
|
+
fetchDaemonStatusPathParameter?: string;
|
|
7
|
+
fetchDaemonStatusByPublicTokenPathParameter?: string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DaemonProcessState } from '@bitblit/ratchet-aws';
|
|
2
|
+
import { DaemonAuthorizerFunction } from './daemon-authorizer-function';
|
|
3
|
+
import { DaemonLike } from '@bitblit/ratchet-aws';
|
|
4
|
+
import { ExtendedAPIGatewayEvent } from '../../config/http/extended-api-gateway-event';
|
|
5
|
+
import { DaemonProcessStateList } from './daemon-process-state-list';
|
|
6
|
+
import { DaemonConfig } from './daemon-config';
|
|
7
|
+
/**
|
|
8
|
+
* A helper class to simplify adding Ratchet "Daemon" handling to your application
|
|
9
|
+
*/
|
|
10
|
+
export declare class DaemonHandler {
|
|
11
|
+
private daemon;
|
|
12
|
+
private inConfig?;
|
|
13
|
+
static readonly ALLOW_EVERYTHING_AUTHORIZER: DaemonAuthorizerFunction;
|
|
14
|
+
private config;
|
|
15
|
+
/**
|
|
16
|
+
* Initialize the Router
|
|
17
|
+
*/
|
|
18
|
+
constructor(daemon: DaemonLike, inConfig?: DaemonConfig);
|
|
19
|
+
fetchDaemonStatusByPublicToken(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessState>;
|
|
20
|
+
fetchDaemonStatus(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessState>;
|
|
21
|
+
listDaemonStatus(evt: ExtendedAPIGatewayEvent): Promise<DaemonProcessStateList>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
|
|
2
|
+
import { ApolloServer, CreateHandlerOptions } from 'apollo-server-lambda';
|
|
3
|
+
import { FilterFunction } from '../../config/http/filter-function';
|
|
4
|
+
import { FilterChainContext } from '../../config/http/filter-chain-context';
|
|
5
|
+
export declare class ApolloFilter {
|
|
6
|
+
private static CACHE_APOLLO_HANDLER;
|
|
7
|
+
static handlePathWithApollo(fCtx: FilterChainContext, apolloPathRegex: RegExp, apolloServer: ApolloServer, createHandlerOptions: CreateHandlerOptions): Promise<boolean>;
|
|
8
|
+
static processApolloRequest(event: APIGatewayEvent, context: Context, apolloServer: ApolloServer, createHandlerOptions: CreateHandlerOptions): Promise<ProxyResult>;
|
|
9
|
+
static addApolloFilterToList(filters: FilterFunction[], apolloPathRegex: RegExp, apolloServer: ApolloServer, createHandlerOptions: CreateHandlerOptions): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FilterChainContext } from '../../config/http/filter-chain-context';
|
|
2
|
+
import { WebTokenManipulator } from '../../http/auth/web-token-manipulator';
|
|
3
|
+
import { JwtTokenBase } from '@bitblit/ratchet-common';
|
|
4
|
+
export declare class BuiltInAuthFilters {
|
|
5
|
+
static requireAllRolesInCommonJwt(fCtx: FilterChainContext, requiredRoleAllOf: string[]): Promise<boolean>;
|
|
6
|
+
static requireAnyRoleInCommonJwt(fCtx: FilterChainContext, requiredRoleOneOf: string[]): Promise<boolean>;
|
|
7
|
+
static parseAuthorizationHeader(fCtx: FilterChainContext, webTokenManipulators: WebTokenManipulator<JwtTokenBase> | WebTokenManipulator<JwtTokenBase>[]): Promise<boolean>;
|
|
8
|
+
static applyOpenApiAuthorization(fCtx: FilterChainContext): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { APIGatewayEvent } from 'aws-lambda';
|
|
2
|
+
import { RouteMapping } from '../../http/route/route-mapping';
|
|
3
|
+
import { EpsilonAuthorizationContext } from '../../config/http/epsilon-authorization-context';
|
|
4
|
+
export declare class BuiltInAuthorizers {
|
|
5
|
+
static simpleNoAuthenticationLogAccess(authorizationContext: EpsilonAuthorizationContext<any>, evt: APIGatewayEvent): Promise<boolean>;
|
|
6
|
+
static simpleLoggedInAuth(authorizationContext: EpsilonAuthorizationContext<any>, evt: APIGatewayEvent): Promise<boolean>;
|
|
7
|
+
static simpleRoleRouteAuth(authorizationContext: EpsilonAuthorizationContext<any>, event: APIGatewayEvent, route: RouteMapping, requiredRoleOneOf?: string[], requiredRoleAllOf?: string[]): Promise<boolean>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FilterFunction } from '../../config/http/filter-function';
|
|
2
|
+
import { FilterChainContext } from '../../config/http/filter-chain-context';
|
|
3
|
+
export declare class BuiltInFilters {
|
|
4
|
+
static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
|
|
5
|
+
static combineFilters(fCtx: FilterChainContext, filters: FilterFunction[]): Promise<boolean>;
|
|
6
|
+
static applyGzipIfPossible(fCtx: FilterChainContext): Promise<boolean>;
|
|
7
|
+
static addConstantHeaders(fCtx: FilterChainContext, headers: Record<string, string>): Promise<boolean>;
|
|
8
|
+
static addAWSRequestIdHeader(fCtx: FilterChainContext, headerName?: string): Promise<boolean>;
|
|
9
|
+
static addAllowEverythingCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
|
|
10
|
+
static addAllowReflectionCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
|
|
11
|
+
static uriDecodeQueryParams(fCtx: FilterChainContext): Promise<boolean>;
|
|
12
|
+
static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>;
|
|
13
|
+
static disallowStringNullAsPathParameter(fCtx: FilterChainContext): Promise<boolean>;
|
|
14
|
+
static disallowStringNullAsQueryStringParameter(fCtx: FilterChainContext): Promise<boolean>;
|
|
15
|
+
static ensureEventMaps(fCtx: FilterChainContext): Promise<boolean>;
|
|
16
|
+
static parseJsonBodyToObject(fCtx: FilterChainContext): Promise<boolean>;
|
|
17
|
+
static checkMaximumLambdaBodySize(fCtx: FilterChainContext): Promise<boolean>;
|
|
18
|
+
static validateInboundBody(fCtx: FilterChainContext): Promise<boolean>;
|
|
19
|
+
static validateInboundQueryParams(fCtx: FilterChainContext): Promise<boolean>;
|
|
20
|
+
static validateInboundPathParams(fCtx: FilterChainContext): Promise<boolean>;
|
|
21
|
+
static validateOutboundResponse(fCtx: FilterChainContext): Promise<boolean>;
|
|
22
|
+
static autoRespondToOptionsRequestWithCors(fCtx: FilterChainContext): Promise<boolean>;
|
|
23
|
+
static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>;
|
|
24
|
+
static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { APIGatewayEvent, Context } from 'aws-lambda';
|
|
2
|
+
import { ExtendedAPIGatewayEvent } from '../../config/http/extended-api-gateway-event';
|
|
3
|
+
import { EpsilonRouter } from '../../http/route/epsilon-router';
|
|
4
|
+
export declare class BuiltInHandlers {
|
|
5
|
+
static expectedHandledByFilter(evt: ExtendedAPIGatewayEvent, flag?: string): Promise<any>;
|
|
6
|
+
static handleNotImplemented(evt: ExtendedAPIGatewayEvent, flag?: string): Promise<any>;
|
|
7
|
+
static sample(evt: ExtendedAPIGatewayEvent, flag?: string, context?: Context): Promise<any>;
|
|
8
|
+
static defaultErrorProcessor(event: APIGatewayEvent, err: Error, cfg: EpsilonRouter): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FilterChainContext } from '../../config/http/filter-chain-context';
|
|
2
|
+
/**
|
|
3
|
+
* This only works because Node is single threaded...
|
|
4
|
+
*/
|
|
5
|
+
export declare class LogLevelManipulationFilter {
|
|
6
|
+
private static LOG_LEVEL_BEFORE_CHANGE;
|
|
7
|
+
static setLogLevelForTransaction(fCtx: FilterChainContext): Promise<boolean>;
|
|
8
|
+
static clearLogLevelForTransaction(fCtx: FilterChainContext): Promise<boolean>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Context } from 'aws-lambda';
|
|
2
|
+
import { ExtendedAPIGatewayEvent } from '../../config/http/extended-api-gateway-event';
|
|
3
|
+
import { RouteAndParse } from '../../http/web-handler';
|
|
4
|
+
import { NullReturnedObjectHandling } from '../../config/http/null-returned-object-handling';
|
|
5
|
+
import { FilterFunction } from '../../config/http/filter-function';
|
|
6
|
+
import { FilterChainContext } from '../../config/http/filter-chain-context';
|
|
7
|
+
export declare class RunHandlerAsFilter {
|
|
8
|
+
static runHandler(fCtx: FilterChainContext, rm: RouteAndParse): Promise<boolean>;
|
|
9
|
+
static applyNullReturnedObjectHandling(result: any, handling: NullReturnedObjectHandling): any;
|
|
10
|
+
static findHandler(rm: RouteAndParse, event: ExtendedAPIGatewayEvent, context: Context, add404OnMissing?: boolean): Promise<any>;
|
|
11
|
+
static addRunHandlerAsFilterToList(filters: FilterFunction[], rm: RouteAndParse): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BackgroundProcessor } from './background-processor';
|
|
2
|
+
import { BackgroundErrorProcessor } from './background-error-processor';
|
|
3
|
+
import { BackgroundExecutionListener } from '../../background/background-execution-listener';
|
|
4
|
+
import { BackgroundTransactionLogger } from './background-transaction-logger';
|
|
5
|
+
export interface BackgroundConfig {
|
|
6
|
+
transactionLogger?: BackgroundTransactionLogger;
|
|
7
|
+
errorProcessor?: BackgroundErrorProcessor;
|
|
8
|
+
httpStatusEndpoint?: string;
|
|
9
|
+
httpMetaEndpoint?: string;
|
|
10
|
+
httpSubmissionPath: string;
|
|
11
|
+
implyTypeFromPathSuffix: boolean;
|
|
12
|
+
processors: BackgroundProcessor<any>[];
|
|
13
|
+
executionListeners?: BackgroundExecutionListener<any>[];
|
|
14
|
+
}
|