@bitblit/ratchet-epsilon-common 4.0.116-alpha → 4.0.119-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/lib/background/background-handler.d.ts +1 -1
- package/lib/background/background-http-adapter-handler.d.ts +1 -1
- package/lib/background/background-validator.d.ts +1 -1
- package/lib/build/ratchet-epsilon-common-info.d.ts +1 -1
- package/lib/built-in/http/built-in-auth-filters.d.ts +1 -1
- package/lib/cli/ratchet-cli-handler.d.ts +2 -2
- package/lib/config/epsilon-logger-config.d.ts +2 -2
- package/lib/config/http/filter-chain-context.d.ts +1 -1
- package/lib/config/http/http-config.d.ts +1 -1
- package/lib/epsilon-global-handler.d.ts +1 -1
- package/lib/epsilon-instance.d.ts +1 -1
- package/lib/epsilon-logging-extension-processor.d.ts +2 -2
- package/lib/http/auth/auth0-web-token-manipulator.d.ts +1 -1
- package/lib/http/auth/google-web-token-manipulator.d.ts +1 -1
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.d.ts +2 -2
- package/lib/http/auth/local-web-token-manipulator.d.ts +3 -3
- package/lib/http/auth/web-token-manipulator.d.ts +1 -1
- package/lib/http/event-util.d.ts +1 -1
- package/lib/http/response-util.d.ts +1 -1
- package/lib/http/route/epsilon-router.d.ts +1 -1
- package/lib/http/route/router-util.d.ts +2 -2
- package/lib/index.d.ts +132 -1
- package/lib/index.mjs +344 -0
- package/lib/index.mjs.map +1 -0
- package/lib/local-container-server.d.ts +1 -1
- package/lib/local-server.d.ts +1 -1
- package/lib/sample/test-error-server.d.ts +1 -1
- package/lib/util/epsilon-config-parser.d.ts +1 -1
- package/package.json +18 -19
- package/lib/background/background-dynamo-log-table-handler.js +0 -38
- package/lib/background/background-dynamo-log-table-handler.js.map +0 -1
- package/lib/background/background-entry.js +0 -2
- package/lib/background/background-entry.js.map +0 -1
- package/lib/background/background-execution-event-type.js +0 -9
- package/lib/background/background-execution-event-type.js.map +0 -1
- package/lib/background/background-execution-event.js +0 -2
- package/lib/background/background-execution-event.js.map +0 -1
- package/lib/background/background-execution-listener.js +0 -2
- package/lib/background/background-execution-listener.js.map +0 -1
- package/lib/background/background-handler.js +0 -274
- package/lib/background/background-handler.js.map +0 -1
- package/lib/background/background-http-adapter-handler.js +0 -129
- package/lib/background/background-http-adapter-handler.js.map +0 -1
- package/lib/background/background-meta-response-internal.js +0 -2
- package/lib/background/background-meta-response-internal.js.map +0 -1
- package/lib/background/background-process-handling.js +0 -6
- package/lib/background/background-process-handling.js.map +0 -1
- package/lib/background/background-process-log-table-entry.js +0 -2
- package/lib/background/background-process-log-table-entry.js.map +0 -1
- package/lib/background/background-queue-response-internal.js +0 -2
- package/lib/background/background-queue-response-internal.js.map +0 -1
- package/lib/background/background-validator.js +0 -87
- package/lib/background/background-validator.js.map +0 -1
- package/lib/background/epsilon-background-process-error.js +0 -95
- package/lib/background/epsilon-background-process-error.js.map +0 -1
- package/lib/background/internal-background-entry.js +0 -2
- package/lib/background/internal-background-entry.js.map +0 -1
- package/lib/background/manager/abstract-background-manager.js +0 -90
- package/lib/background/manager/abstract-background-manager.js.map +0 -1
- package/lib/background/manager/aws-sqs-sns-background-manager.js +0 -154
- package/lib/background/manager/aws-sqs-sns-background-manager.js.map +0 -1
- package/lib/background/manager/background-manager-like.js +0 -2
- package/lib/background/manager/background-manager-like.js.map +0 -1
- package/lib/background/manager/background-manager.spec.js +0 -74
- package/lib/background/manager/background-manager.spec.js.map +0 -1
- package/lib/background/manager/single-thread-local-background-manager.js +0 -46
- package/lib/background/manager/single-thread-local-background-manager.js.map +0 -1
- package/lib/background/s3-background-transaction-logger.js +0 -53
- package/lib/background/s3-background-transaction-logger.js.map +0 -1
- package/lib/build/ratchet-epsilon-common-info.js +0 -15
- package/lib/build/ratchet-epsilon-common-info.js.map +0 -1
- package/lib/built-in/background/echo-processor.js +0 -17
- package/lib/built-in/background/echo-processor.js.map +0 -1
- package/lib/built-in/background/log-and-enqueue-echo-processor.js +0 -13
- package/lib/built-in/background/log-and-enqueue-echo-processor.js.map +0 -1
- package/lib/built-in/background/log-message-background-error-processor.js +0 -7
- package/lib/built-in/background/log-message-background-error-processor.js.map +0 -1
- package/lib/built-in/background/no-op-processor.js +0 -10
- package/lib/built-in/background/no-op-processor.js.map +0 -1
- package/lib/built-in/background/retry-processor.js +0 -42
- package/lib/built-in/background/retry-processor.js.map +0 -1
- package/lib/built-in/background/sample-delay-processor.js +0 -14
- package/lib/built-in/background/sample-delay-processor.js.map +0 -1
- package/lib/built-in/background/sample-input-validated-processor-data.js +0 -2
- package/lib/built-in/background/sample-input-validated-processor-data.js.map +0 -1
- package/lib/built-in/background/sample-input-validated-processor.js +0 -13
- package/lib/built-in/background/sample-input-validated-processor.js.map +0 -1
- package/lib/built-in/built-in-trace-id-generators.js +0 -22
- package/lib/built-in/built-in-trace-id-generators.js.map +0 -1
- package/lib/built-in/daemon/daemon-authorizer-function.js +0 -2
- package/lib/built-in/daemon/daemon-authorizer-function.js.map +0 -1
- package/lib/built-in/daemon/daemon-config.js +0 -2
- package/lib/built-in/daemon/daemon-config.js.map +0 -1
- package/lib/built-in/daemon/daemon-group-selection-function.js +0 -2
- package/lib/built-in/daemon/daemon-group-selection-function.js.map +0 -1
- package/lib/built-in/daemon/daemon-handler.js +0 -61
- package/lib/built-in/daemon/daemon-handler.js.map +0 -1
- package/lib/built-in/daemon/daemon-process-state-list.js +0 -2
- package/lib/built-in/daemon/daemon-process-state-list.js.map +0 -1
- package/lib/built-in/http/apollo-filter.js +0 -60
- package/lib/built-in/http/apollo-filter.js.map +0 -1
- package/lib/built-in/http/built-in-auth-filters.js +0 -108
- package/lib/built-in/http/built-in-auth-filters.js.map +0 -1
- package/lib/built-in/http/built-in-authorizers.js +0 -40
- package/lib/built-in/http/built-in-authorizers.js.map +0 -1
- package/lib/built-in/http/built-in-filters.js +0 -210
- package/lib/built-in/http/built-in-filters.js.map +0 -1
- package/lib/built-in/http/built-in-handlers.js +0 -70
- package/lib/built-in/http/built-in-handlers.js.map +0 -1
- package/lib/built-in/http/log-level-manipulation-filter.js +0 -18
- package/lib/built-in/http/log-level-manipulation-filter.js.map +0 -1
- package/lib/built-in/http/run-handler-as-filter.js +0 -61
- package/lib/built-in/http/run-handler-as-filter.js.map +0 -1
- package/lib/built-in/http/run-handler-as-filter.spec.js +0 -41
- package/lib/built-in/http/run-handler-as-filter.spec.js.map +0 -1
- package/lib/cli/ratchet-cli-handler.js +0 -21
- package/lib/cli/ratchet-cli-handler.js.map +0 -1
- package/lib/cli/run-background-process-from-command-line.js +0 -23
- package/lib/cli/run-background-process-from-command-line.js.map +0 -1
- package/lib/config/background/background-aws-config.js +0 -2
- package/lib/config/background/background-aws-config.js.map +0 -1
- package/lib/config/background/background-config.js +0 -2
- package/lib/config/background/background-config.js.map +0 -1
- package/lib/config/background/background-error-processor.js +0 -2
- package/lib/config/background/background-error-processor.js.map +0 -1
- package/lib/config/background/background-processor.js +0 -2
- package/lib/config/background/background-processor.js.map +0 -1
- package/lib/config/background/background-transaction-log.js +0 -2
- package/lib/config/background/background-transaction-log.js.map +0 -1
- package/lib/config/background/background-transaction-logger.js +0 -2
- package/lib/config/background/background-transaction-logger.js.map +0 -1
- package/lib/config/cron/abstract-cron-entry.js +0 -2
- package/lib/config/cron/abstract-cron-entry.js.map +0 -1
- package/lib/config/cron/cron-background-entry.js +0 -2
- package/lib/config/cron/cron-background-entry.js.map +0 -1
- package/lib/config/cron/cron-config.js +0 -2
- package/lib/config/cron/cron-config.js.map +0 -1
- package/lib/config/dynamo-db-config.js +0 -2
- package/lib/config/dynamo-db-config.js.map +0 -1
- package/lib/config/epsilon-config.js +0 -2
- package/lib/config/epsilon-config.js.map +0 -1
- package/lib/config/epsilon-lambda-event-handler.js +0 -2
- package/lib/config/epsilon-lambda-event-handler.js.map +0 -1
- package/lib/config/epsilon-logger-config.js +0 -2
- package/lib/config/epsilon-logger-config.js.map +0 -1
- package/lib/config/generic-aws-event-handler-function.js +0 -2
- package/lib/config/generic-aws-event-handler-function.js.map +0 -1
- package/lib/config/http/authorizer-function.js +0 -2
- package/lib/config/http/authorizer-function.js.map +0 -1
- package/lib/config/http/epsilon-authorization-context.js +0 -2
- package/lib/config/http/epsilon-authorization-context.js.map +0 -1
- package/lib/config/http/extended-api-gateway-event.js +0 -2
- package/lib/config/http/extended-api-gateway-event.js.map +0 -1
- package/lib/config/http/filter-chain-context.js +0 -2
- package/lib/config/http/filter-chain-context.js.map +0 -1
- package/lib/config/http/filter-function.js +0 -2
- package/lib/config/http/filter-function.js.map +0 -1
- package/lib/config/http/handler-function.js +0 -2
- package/lib/config/http/handler-function.js.map +0 -1
- package/lib/config/http/http-config.js +0 -2
- package/lib/config/http/http-config.js.map +0 -1
- package/lib/config/http/http-processing-config.js +0 -2
- package/lib/config/http/http-processing-config.js.map +0 -1
- package/lib/config/http/mapped-http-processing-config.js +0 -2
- package/lib/config/http/mapped-http-processing-config.js.map +0 -1
- package/lib/config/http/null-returned-object-handling.js +0 -7
- package/lib/config/http/null-returned-object-handling.js.map +0 -1
- package/lib/config/inter-api/inter-api-aws-config.js +0 -2
- package/lib/config/inter-api/inter-api-aws-config.js.map +0 -1
- package/lib/config/inter-api/inter-api-config.js +0 -2
- package/lib/config/inter-api/inter-api-config.js.map +0 -1
- package/lib/config/inter-api/inter-api-process-mapping.js +0 -2
- package/lib/config/inter-api/inter-api-process-mapping.js.map +0 -1
- package/lib/config/logging-trace-id-generator.js +0 -2
- package/lib/config/logging-trace-id-generator.js.map +0 -1
- package/lib/config/open-api/open-api-document-components.js +0 -2
- package/lib/config/open-api/open-api-document-components.js.map +0 -1
- package/lib/config/open-api/open-api-document-path.js +0 -2
- package/lib/config/open-api/open-api-document-path.js.map +0 -1
- package/lib/config/open-api/open-api-document.js +0 -2
- package/lib/config/open-api/open-api-document.js.map +0 -1
- package/lib/config/s3-config.js +0 -2
- package/lib/config/s3-config.js.map +0 -1
- package/lib/config/sns-config.js +0 -2
- package/lib/config/sns-config.js.map +0 -1
- package/lib/epsilon-build-properties.js +0 -25
- package/lib/epsilon-build-properties.js.map +0 -1
- package/lib/epsilon-constants.js +0 -48
- package/lib/epsilon-constants.js.map +0 -1
- package/lib/epsilon-global-handler.js +0 -156
- package/lib/epsilon-global-handler.js.map +0 -1
- package/lib/epsilon-instance.js +0 -2
- package/lib/epsilon-instance.js.map +0 -1
- package/lib/epsilon-logging-extension-processor.js +0 -16
- package/lib/epsilon-logging-extension-processor.js.map +0 -1
- package/lib/http/auth/api-gateway-adapter-authentication-handler.js +0 -73
- package/lib/http/auth/api-gateway-adapter-authentication-handler.js.map +0 -1
- package/lib/http/auth/auth0-web-token-manipulator.js +0 -62
- package/lib/http/auth/auth0-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/basic-auth-token.js +0 -2
- package/lib/http/auth/basic-auth-token.js.map +0 -1
- package/lib/http/auth/google-web-token-manipulator.js +0 -72
- package/lib/http/auth/google-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/google-web-token-manipulator.spec.js +0 -11
- package/lib/http/auth/google-web-token-manipulator.spec.js.map +0 -1
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js +0 -28
- package/lib/http/auth/jwt-ratchet-local-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/local-web-token-manipulator.js +0 -75
- package/lib/http/auth/local-web-token-manipulator.js.map +0 -1
- package/lib/http/auth/local-web-token-manipulator.spec.js +0 -25
- package/lib/http/auth/local-web-token-manipulator.spec.js.map +0 -1
- package/lib/http/auth/web-token-manipulator.js +0 -2
- package/lib/http/auth/web-token-manipulator.js.map +0 -1
- package/lib/http/error/bad-gateway.js +0 -10
- package/lib/http/error/bad-gateway.js.map +0 -1
- package/lib/http/error/bad-request-error.js +0 -10
- package/lib/http/error/bad-request-error.js.map +0 -1
- package/lib/http/error/conflict-error.js +0 -10
- package/lib/http/error/conflict-error.js.map +0 -1
- package/lib/http/error/epsilon-http-error.js +0 -135
- package/lib/http/error/epsilon-http-error.js.map +0 -1
- package/lib/http/error/epsilon-http-error.spec.js +0 -12
- package/lib/http/error/epsilon-http-error.spec.js.map +0 -1
- package/lib/http/error/forbidden-error.js +0 -10
- package/lib/http/error/forbidden-error.js.map +0 -1
- package/lib/http/error/gateway-timeout.js +0 -10
- package/lib/http/error/gateway-timeout.js.map +0 -1
- package/lib/http/error/method-not-allowed-error.js +0 -10
- package/lib/http/error/method-not-allowed-error.js.map +0 -1
- package/lib/http/error/misconfigured-error.js +0 -10
- package/lib/http/error/misconfigured-error.js.map +0 -1
- package/lib/http/error/not-found-error.js +0 -10
- package/lib/http/error/not-found-error.js.map +0 -1
- package/lib/http/error/not-implemented.js +0 -10
- package/lib/http/error/not-implemented.js.map +0 -1
- package/lib/http/error/request-timeout-error.js +0 -10
- package/lib/http/error/request-timeout-error.js.map +0 -1
- package/lib/http/error/service-unavailable.js +0 -10
- package/lib/http/error/service-unavailable.js.map +0 -1
- package/lib/http/error/too-many-requests-error.js +0 -10
- package/lib/http/error/too-many-requests-error.js.map +0 -1
- package/lib/http/error/unauthorized-error.js +0 -10
- package/lib/http/error/unauthorized-error.js.map +0 -1
- package/lib/http/event-util.js +0 -177
- package/lib/http/event-util.js.map +0 -1
- package/lib/http/event-util.spec.js +0 -162
- package/lib/http/event-util.spec.js.map +0 -1
- package/lib/http/response-util.js +0 -142
- package/lib/http/response-util.js.map +0 -1
- package/lib/http/response-util.spec.js +0 -93
- package/lib/http/response-util.spec.js.map +0 -1
- package/lib/http/route/epsilon-router.js +0 -2
- package/lib/http/route/epsilon-router.js.map +0 -1
- package/lib/http/route/extended-auth-response-context.js +0 -2
- package/lib/http/route/extended-auth-response-context.js.map +0 -1
- package/lib/http/route/route-mapping.js +0 -2
- package/lib/http/route/route-mapping.js.map +0 -1
- package/lib/http/route/route-validator-config.js +0 -2
- package/lib/http/route/route-validator-config.js.map +0 -1
- package/lib/http/route/router-util.js +0 -234
- package/lib/http/route/router-util.js.map +0 -1
- package/lib/http/route/router-util.spec.js +0 -24
- package/lib/http/route/router-util.spec.js.map +0 -1
- package/lib/http/web-handler.js +0 -119
- package/lib/http/web-handler.js.map +0 -1
- package/lib/http/web-handler.spec.js +0 -33
- package/lib/http/web-handler.spec.js.map +0 -1
- package/lib/http/web-v2-handler.js +0 -23
- package/lib/http/web-v2-handler.js.map +0 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/lib/inter-api/inter-api-entry.js +0 -2
- package/lib/inter-api/inter-api-entry.js.map +0 -1
- package/lib/inter-api/inter-api-util.js +0 -60
- package/lib/inter-api/inter-api-util.js.map +0 -1
- package/lib/inter-api/inter-api-util.spec.js +0 -62
- package/lib/inter-api/inter-api-util.spec.js.map +0 -1
- package/lib/inter-api-manager.js +0 -66
- package/lib/inter-api-manager.js.map +0 -1
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js +0 -74
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.js +0 -51
- package/lib/lambda-event-handler/cron-epsilon-lambda-event-handler.spec.js.map +0 -1
- package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js +0 -34
- package/lib/lambda-event-handler/dynamo-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js +0 -30
- package/lib/lambda-event-handler/generic-sns-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js +0 -24
- package/lib/lambda-event-handler/inter-api-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js +0 -42
- package/lib/lambda-event-handler/s3-epsilon-lambda-event-handler.js.map +0 -1
- package/lib/local-container-server.js +0 -77
- package/lib/local-container-server.js.map +0 -1
- package/lib/local-server-cert.js +0 -69
- package/lib/local-server-cert.js.map +0 -1
- package/lib/local-server.js +0 -163
- package/lib/local-server.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifications.js +0 -2
- package/lib/open-api-util/open-api-doc-modifications.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifier.js +0 -80
- package/lib/open-api-util/open-api-doc-modifier.js.map +0 -1
- package/lib/open-api-util/open-api-doc-modifier.spec.js +0 -17
- package/lib/open-api-util/open-api-doc-modifier.spec.js.map +0 -1
- package/lib/open-api-util/yaml-combiner.js +0 -28
- package/lib/open-api-util/yaml-combiner.js.map +0 -1
- package/lib/open-api-util/yaml-combiner.spec.js +0 -23
- package/lib/open-api-util/yaml-combiner.spec.js.map +0 -1
- package/lib/sample/sample-server-components.js +0 -186
- package/lib/sample/sample-server-components.js.map +0 -1
- package/lib/sample/sample-server-static-files.js +0 -595
- package/lib/sample/sample-server-static-files.js.map +0 -1
- package/lib/sample/test-error-server.js +0 -45
- package/lib/sample/test-error-server.js.map +0 -1
- package/lib/util/aws-util.js +0 -66
- package/lib/util/aws-util.js.map +0 -1
- package/lib/util/context-util.js +0 -103
- package/lib/util/context-util.js.map +0 -1
- package/lib/util/cron-util.js +0 -69
- package/lib/util/cron-util.js.map +0 -1
- package/lib/util/cron-util.spec.js +0 -125
- package/lib/util/cron-util.spec.js.map +0 -1
- package/lib/util/epsilon-config-parser.js +0 -66
- package/lib/util/epsilon-config-parser.js.map +0 -1
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
2
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
3
|
-
import jwt from 'jsonwebtoken';
|
|
4
|
-
import jwks from 'jwks-rsa';
|
|
5
|
-
import fetch from 'cross-fetch';
|
|
6
|
-
class GoogleWebTokenManipulator {
|
|
7
|
-
clientId;
|
|
8
|
-
static GOOGLE_DISCOVERY_DOCUMENT = 'https://accounts.google.com/.well-known/openid-configuration';
|
|
9
|
-
cacheGoogleDiscoveryDocument;
|
|
10
|
-
jwksClient;
|
|
11
|
-
constructor(clientId) {
|
|
12
|
-
this.clientId = clientId;
|
|
13
|
-
}
|
|
14
|
-
async extractTokenFromAuthorizationHeader(authHeader) {
|
|
15
|
-
let tokenString = StringRatchet.trimToEmpty(authHeader);
|
|
16
|
-
if (tokenString.toLowerCase().startsWith('bearer ')) {
|
|
17
|
-
tokenString = tokenString.substring(7);
|
|
18
|
-
}
|
|
19
|
-
const validated = !!tokenString ? await this.parseAndValidateGoogleToken(tokenString, false) : null;
|
|
20
|
-
return validated;
|
|
21
|
-
}
|
|
22
|
-
async parseAndValidateGoogleToken(googleToken, allowExpired = false) {
|
|
23
|
-
Logger.debug('Auth : %s', StringRatchet.obscure(googleToken, 4));
|
|
24
|
-
const fullToken = jwt.decode(googleToken, { complete: true });
|
|
25
|
-
const kid = fullToken.header.kid;
|
|
26
|
-
const nowEpochSeconds = Math.floor(new Date().getTime() / 1000);
|
|
27
|
-
const pubKey = await this.fetchSigningKey(kid);
|
|
28
|
-
const validated = jwt.verify(googleToken, pubKey, {
|
|
29
|
-
audience: this.clientId,
|
|
30
|
-
issuer: ['https://accounts.google.com', 'accounts.google.com'],
|
|
31
|
-
ignoreExpiration: allowExpired,
|
|
32
|
-
clockTimestamp: nowEpochSeconds,
|
|
33
|
-
});
|
|
34
|
-
return validated;
|
|
35
|
-
}
|
|
36
|
-
async fetchSigningKey(kid) {
|
|
37
|
-
const jClient = await this.fetchJwksClient();
|
|
38
|
-
return new Promise((res, rej) => {
|
|
39
|
-
jClient.getSigningKey(kid, (err, key) => {
|
|
40
|
-
if (err) {
|
|
41
|
-
rej(err);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
res(key.publicKey || key.rsaPublicKey);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
async fetchJwksClient() {
|
|
50
|
-
if (!this.jwksClient) {
|
|
51
|
-
const discDoc = await this.fetchGoogleDiscoveryDocument();
|
|
52
|
-
const client = jwks({
|
|
53
|
-
cache: true,
|
|
54
|
-
cacheMaxEntries: 5,
|
|
55
|
-
cacheMaxAge: 1000 * 60 * 60 * 10,
|
|
56
|
-
jwksUri: discDoc.jwks_uri,
|
|
57
|
-
});
|
|
58
|
-
this.jwksClient = client;
|
|
59
|
-
}
|
|
60
|
-
return this.jwksClient;
|
|
61
|
-
}
|
|
62
|
-
async fetchGoogleDiscoveryDocument() {
|
|
63
|
-
if (!this.cacheGoogleDiscoveryDocument) {
|
|
64
|
-
const resp = await fetch(GoogleWebTokenManipulator.GOOGLE_DISCOVERY_DOCUMENT);
|
|
65
|
-
const doc = await resp.json();
|
|
66
|
-
this.cacheGoogleDiscoveryDocument = doc;
|
|
67
|
-
}
|
|
68
|
-
return this.cacheGoogleDiscoveryDocument;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export { GoogleWebTokenManipulator };
|
|
72
|
-
//# sourceMappingURL=google-web-token-manipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google-web-token-manipulator.js","sourceRoot":"","sources":["../../../src/http/auth/google-web-token-manipulator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACnF,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,UAAU,CAAC;AAE5B,OAAO,KAAK,MAAM,aAAa,CAAC;AAGhC,MAAa,yBAAyB;IAKhB;IAJZ,MAAM,CAAU,yBAAyB,GAAW,8DAA8D,CAAC;IACnH,4BAA4B,CAAM;IAClC,UAAU,CAAM;IAExB,YAAoB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjC,KAAK,CAAC,mCAAmC,CAAyB,UAAkB;QACzF,IAAI,WAAW,GAAW,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACnD,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,MAAM,SAAS,GAAiB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,2BAA2B,CACtC,WAAmB,EACnB,eAAwB,KAAK;QAE7B,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAGjE,MAAM,SAAS,GAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,GAAG,GAAW,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QACzC,MAAM,eAAe,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAExE,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,GAAQ,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE;YACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,CAAC,6BAA6B,EAAE,qBAAqB,CAAC;YAC9D,gBAAgB,EAAE,YAAY;YAC9B,cAAc,EAAE,eAAe;SAChC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAElD,OAAO,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACtC,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,GAAG,CAAC,CAAC;iBACV;qBAAM;oBACL,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAQ,IAAI,CAAC;gBACvB,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,CAAC;gBAClB,WAAW,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBAChC,OAAO,EAAE,OAAO,CAAC,QAAQ;aAC1B,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACtC,MAAM,IAAI,GAAa,MAAM,KAAK,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;YACxF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,4BAA4B,GAAG,GAAG,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;;SAzEU,yBAAyB"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { GoogleWebTokenManipulator } from './google-web-token-manipulator.js';
|
|
2
|
-
describe('#googleWebTokenManipulator', function () {
|
|
3
|
-
xit('should extract a token', async () => {
|
|
4
|
-
const token = 'TOKEN_HERE';
|
|
5
|
-
const clientId = 'CLIENT_HERE';
|
|
6
|
-
const svc = new GoogleWebTokenManipulator(clientId);
|
|
7
|
-
const res = await svc.parseAndValidateGoogleToken(token, false);
|
|
8
|
-
expect(res).toBeTruthy();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=google-web-token-manipulator.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google-web-token-manipulator.spec.js","sourceRoot":"","sources":["../../../src/http/auth/google-web-token-manipulator.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,QAAQ,CAAC,4BAA4B,EAAE;IACrC,GAAG,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,KAAK,GAAW,YAAY,CAAC;QACnC,MAAM,QAAQ,GAAW,aAAa,CAAC;QAEvC,MAAM,GAAG,GAA8B,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAiB,MAAM,GAAG,CAAC,2BAA2B,CAAM,KAAK,EAAE,KAAK,CAAC,CAAC;QAEnF,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
2
|
-
import { RequireRatchet } from '@bitblit/ratchet-common/lib/lang/require-ratchet.js';
|
|
3
|
-
import { ExpiredJwtHandling } from '@bitblit/ratchet-common/lib/jwt/expired-jwt-handling.js';
|
|
4
|
-
export class JwtRatchetLocalWebTokenManipulator {
|
|
5
|
-
_jwtRatchet;
|
|
6
|
-
_issuer;
|
|
7
|
-
constructor(_jwtRatchet, _issuer) {
|
|
8
|
-
this._jwtRatchet = _jwtRatchet;
|
|
9
|
-
this._issuer = _issuer;
|
|
10
|
-
RequireRatchet.notNullOrUndefined(_jwtRatchet, '_jwtRatchet');
|
|
11
|
-
RequireRatchet.notNullOrUndefined(StringRatchet.trimToNull(_issuer), '_issuer');
|
|
12
|
-
}
|
|
13
|
-
get jwtRatchet() {
|
|
14
|
-
return this._jwtRatchet;
|
|
15
|
-
}
|
|
16
|
-
get issuer() {
|
|
17
|
-
return this._issuer;
|
|
18
|
-
}
|
|
19
|
-
async extractTokenFromAuthorizationHeader(header) {
|
|
20
|
-
let tokenString = StringRatchet.trimToEmpty(header);
|
|
21
|
-
if (tokenString.toLowerCase().startsWith('bearer ')) {
|
|
22
|
-
tokenString = tokenString.substring(7);
|
|
23
|
-
}
|
|
24
|
-
const validated = !!tokenString ? await this.jwtRatchet.decodeToken(tokenString, ExpiredJwtHandling.THROW_EXCEPTION) : null;
|
|
25
|
-
return validated;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=jwt-ratchet-local-web-token-manipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-ratchet-local-web-token-manipulator.js","sourceRoot":"","sources":["../../../src/http/auth/jwt-ratchet-local-web-token-manipulator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oDAAoD,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAK7F,MAAM,OAAO,kCAAkC;IACzB;IAAqC;IAAzD,YAAoB,WAA2B,EAAU,OAAe;QAApD,gBAAW,GAAX,WAAW,CAAgB;QAAU,YAAO,GAAP,OAAO,CAAQ;QACtE,cAAc,CAAC,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC9D,cAAc,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,mCAAmC,CAAI,MAAc;QAChE,IAAI,WAAW,GAAW,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YACnD,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACxC;QACD,MAAM,SAAS,GAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/H,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
2
|
-
import { UnauthorizedError } from '../error/unauthorized-error.js';
|
|
3
|
-
import { StringRatchet } from '@bitblit/ratchet-common/lib/lang/string-ratchet.js';
|
|
4
|
-
import { RequireRatchet } from '@bitblit/ratchet-common/lib/lang/require-ratchet.js';
|
|
5
|
-
import { JwtRatchet } from '@bitblit/ratchet-common/lib/jwt/jwt-ratchet.js';
|
|
6
|
-
import { ExpiredJwtHandling } from '@bitblit/ratchet-common/lib/jwt/expired-jwt-handling.js';
|
|
7
|
-
export class LocalWebTokenManipulator {
|
|
8
|
-
encryptionKeys;
|
|
9
|
-
issuer;
|
|
10
|
-
_ratchet;
|
|
11
|
-
constructor(encryptionKeys, issuer) {
|
|
12
|
-
this.encryptionKeys = encryptionKeys;
|
|
13
|
-
this.issuer = issuer;
|
|
14
|
-
RequireRatchet.notNullOrUndefined(encryptionKeys, 'encryptionKeys');
|
|
15
|
-
RequireRatchet.noNullOrUndefinedValuesInArray(encryptionKeys, encryptionKeys.length);
|
|
16
|
-
this._ratchet = new JwtRatchet(Promise.resolve(encryptionKeys));
|
|
17
|
-
}
|
|
18
|
-
withExtraDecryptionKeys(keys) {
|
|
19
|
-
RequireRatchet.notNullOrUndefined(keys, 'keys');
|
|
20
|
-
RequireRatchet.noNullOrUndefinedValuesInArray(keys, keys.length);
|
|
21
|
-
this._ratchet = new JwtRatchet(this._ratchet.encryptionKeyPromise, Promise.resolve(keys), this._ratchet.jtiGenerator, this._ratchet.decryptOnlyKeyUseLogLevel, this._ratchet.parseFailureLogLevel);
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
withParseFailureLogLevel(logLevel) {
|
|
25
|
-
this._ratchet = new JwtRatchet(this._ratchet.encryptionKeyPromise, this._ratchet.decryptKeysPromise, this._ratchet.jtiGenerator, this._ratchet.decryptOnlyKeyUseLogLevel, logLevel);
|
|
26
|
-
return this;
|
|
27
|
-
}
|
|
28
|
-
withOldKeyUseLogLevel(logLevel) {
|
|
29
|
-
this._ratchet = new JwtRatchet(this._ratchet.encryptionKeyPromise, this._ratchet.decryptKeysPromise, this._ratchet.jtiGenerator, logLevel, this._ratchet.parseFailureLogLevel);
|
|
30
|
-
return this;
|
|
31
|
-
}
|
|
32
|
-
get jwtRatchet() {
|
|
33
|
-
return this._ratchet;
|
|
34
|
-
}
|
|
35
|
-
get selectRandomEncryptionKey() {
|
|
36
|
-
return this._ratchet.selectRandomEncryptionKey();
|
|
37
|
-
}
|
|
38
|
-
createRefreshedJWTString(tokenString, expirationSeconds, allowExpired) {
|
|
39
|
-
return this._ratchet.refreshJWTString(tokenString, allowExpired || false, expirationSeconds);
|
|
40
|
-
}
|
|
41
|
-
async parseAndValidateJWTStringAsync(tokenString) {
|
|
42
|
-
const payload = await this._ratchet.decodeToken(tokenString, ExpiredJwtHandling.ADD_FLAG);
|
|
43
|
-
if (JwtRatchet.hasExpiredFlag(payload)) {
|
|
44
|
-
throw new UnauthorizedError('Failing JWT token read/validate - token expired on ' + payload.exp);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
return payload;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async createJWTStringAsync(principal, userObject, roles = ['USER'], expirationSeconds = 3600, proxyUser = null) {
|
|
51
|
-
Logger.info('Creating JWT token for %s that expires in %s', principal, expirationSeconds);
|
|
52
|
-
const now = new Date().getTime();
|
|
53
|
-
const expires = now + expirationSeconds * 1000;
|
|
54
|
-
const tokenData = {
|
|
55
|
-
exp: expires,
|
|
56
|
-
iss: this.issuer,
|
|
57
|
-
sub: principal,
|
|
58
|
-
iat: now,
|
|
59
|
-
user: userObject,
|
|
60
|
-
proxy: proxyUser,
|
|
61
|
-
roles: roles,
|
|
62
|
-
};
|
|
63
|
-
const token = await this._ratchet.createTokenString(tokenData, expirationSeconds);
|
|
64
|
-
return token;
|
|
65
|
-
}
|
|
66
|
-
async extractTokenFromAuthorizationHeader(header) {
|
|
67
|
-
let tokenString = StringRatchet.trimToEmpty(header);
|
|
68
|
-
if (tokenString.toLowerCase().startsWith('bearer ')) {
|
|
69
|
-
tokenString = tokenString.substring(7);
|
|
70
|
-
}
|
|
71
|
-
const validated = !!tokenString ? await this.parseAndValidateJWTStringAsync(tokenString) : null;
|
|
72
|
-
return validated;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=local-web-token-manipulator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-web-token-manipulator.js","sourceRoot":"","sources":["../../../src/http/auth/local-web-token-manipulator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { LocalWebTokenManipulator } from './local-web-token-manipulator.js';
|
|
2
|
-
import { Logger } from '@bitblit/ratchet-common/lib/logger/logger.js';
|
|
3
|
-
import { LoggerLevelName } from '@bitblit/ratchet-common/lib/logger/logger-level-name.js';
|
|
4
|
-
describe('#localWebTokenManipulator', function () {
|
|
5
|
-
it('should round trip a JWT token', async () => {
|
|
6
|
-
const svc = new LocalWebTokenManipulator(['1234567890'], 'test')
|
|
7
|
-
.withParseFailureLogLevel(LoggerLevelName.info)
|
|
8
|
-
.withExtraDecryptionKeys(['abcdefabcdef'])
|
|
9
|
-
.withOldKeyUseLogLevel(LoggerLevelName.info);
|
|
10
|
-
const testUser = {
|
|
11
|
-
data1: 'test',
|
|
12
|
-
data2: 15,
|
|
13
|
-
};
|
|
14
|
-
const token = await svc.createJWTStringAsync('test123@test.com', testUser);
|
|
15
|
-
Logger.info('Generated token : %s', token);
|
|
16
|
-
expect(token).toBeTruthy();
|
|
17
|
-
const outputUser = await svc.parseAndValidateJWTStringAsync(token);
|
|
18
|
-
Logger.info('Got result : %j', outputUser);
|
|
19
|
-
expect(outputUser).toBeTruthy();
|
|
20
|
-
expect(outputUser.user).toBeTruthy();
|
|
21
|
-
expect(outputUser.user['data1']).toEqual(testUser.data1);
|
|
22
|
-
expect(outputUser.user['data2']).toEqual(testUser.data2);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=local-web-token-manipulator.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-web-token-manipulator.spec.js","sourceRoot":"","sources":["../../../src/http/auth/local-web-token-manipulator.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yDAAyD,CAAC;AAG1F,QAAQ,CAAC,2BAA2B,EAAE;IACpC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,GAAG,GAAkD,IAAI,wBAAwB,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;aAC5G,wBAAwB,CAAC,eAAe,CAAC,IAAI,CAAC;aAC9C,uBAAuB,CAAC,CAAC,cAAc,CAAC,CAAC;aACzC,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAQ;YACpB,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,KAAK,GAAW,MAAM,GAAG,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAEnF,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAE3B,MAAM,UAAU,GAAwB,MAAM,GAAG,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAExF,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAE3C,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web-token-manipulator.js","sourceRoot":"","sources":["../../../src/http/auth/web-token-manipulator.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class BadGateway extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 502;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(BadGateway.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { BadGateway };
|
|
10
|
-
//# sourceMappingURL=bad-gateway.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bad-gateway.js","sourceRoot":"","sources":["../../../src/http/error/bad-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,UAAqB,SAAQ,gBAAmB;IACpD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;;SANU,UAAU"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class BadRequestError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 400;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(BadRequestError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { BadRequestError };
|
|
10
|
-
//# sourceMappingURL=bad-request-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bad-request-error.js","sourceRoot":"","sources":["../../../src/http/error/bad-request-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,eAA0B,SAAQ,gBAAmB;IACzD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;;SANU,eAAe"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class ConflictError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 409;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(ConflictError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { ConflictError };
|
|
10
|
-
//# sourceMappingURL=conflict-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-error.js","sourceRoot":"","sources":["../../../src/http/error/conflict-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,aAAwB,SAAQ,gBAAmB;IACvD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;;SANU,aAAa"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import util from 'util';
|
|
2
|
-
import { NumberRatchet } from '@bitblit/ratchet-common/lib/lang/number-ratchet.js';
|
|
3
|
-
class EpsilonHttpError extends Error {
|
|
4
|
-
static EPSILON_HTTP_ERROR_FLAG_KEY = '__epsilonHttpErrorFlag';
|
|
5
|
-
_httpStatusCode = 500;
|
|
6
|
-
_errors;
|
|
7
|
-
_detailErrorCode;
|
|
8
|
-
_endUserErrors;
|
|
9
|
-
_details;
|
|
10
|
-
_requestId;
|
|
11
|
-
_wrappedError;
|
|
12
|
-
constructor(...errors) {
|
|
13
|
-
super(EpsilonHttpError.combineErrorStringsWithDefault(errors));
|
|
14
|
-
Object.setPrototypeOf(this, EpsilonHttpError.prototype);
|
|
15
|
-
this._errors = errors;
|
|
16
|
-
this[EpsilonHttpError.EPSILON_HTTP_ERROR_FLAG_KEY] = true;
|
|
17
|
-
}
|
|
18
|
-
static combineErrorStringsWithDefault(errors, defMessage = 'Internal Server Error') {
|
|
19
|
-
return errors && errors.length > 0 ? errors.join(',') : defMessage;
|
|
20
|
-
}
|
|
21
|
-
setFormattedErrorMessage(format, ...input) {
|
|
22
|
-
const msg = util.format(format, ...input);
|
|
23
|
-
this.errors = [msg];
|
|
24
|
-
}
|
|
25
|
-
withFormattedErrorMessage(format, ...input) {
|
|
26
|
-
this.setFormattedErrorMessage(format, ...input);
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
withHttpStatusCode(httpStatusCode) {
|
|
30
|
-
this.httpStatusCode = httpStatusCode;
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
withErrors(errors) {
|
|
34
|
-
this.errors = errors;
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
withDetailErrorCode(detailErrorCode) {
|
|
38
|
-
this._detailErrorCode = detailErrorCode;
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
withEndUserErrors(endUserErrors) {
|
|
42
|
-
this._endUserErrors = endUserErrors;
|
|
43
|
-
return this;
|
|
44
|
-
}
|
|
45
|
-
withDetails(details) {
|
|
46
|
-
this._details = details;
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
withRequestId(requestId) {
|
|
50
|
-
this._requestId = requestId;
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
withWrappedError(err) {
|
|
54
|
-
this._wrappedError = err;
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
isWrappedError() {
|
|
58
|
-
return !!this._wrappedError;
|
|
59
|
-
}
|
|
60
|
-
static wrapError(err) {
|
|
61
|
-
let rval = null;
|
|
62
|
-
if (EpsilonHttpError.objectIsEpsilonHttpError(err)) {
|
|
63
|
-
rval = err;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
rval = new EpsilonHttpError(err.message).withWrappedError(err).withHttpStatusCode(500);
|
|
67
|
-
}
|
|
68
|
-
return rval;
|
|
69
|
-
}
|
|
70
|
-
static objectIsEpsilonHttpError(obj) {
|
|
71
|
-
return obj && obj['__epsilonHttpErrorFlag'] === true;
|
|
72
|
-
}
|
|
73
|
-
get httpStatusCode() {
|
|
74
|
-
return this._httpStatusCode;
|
|
75
|
-
}
|
|
76
|
-
get errors() {
|
|
77
|
-
return this._errors;
|
|
78
|
-
}
|
|
79
|
-
get detailErrorCode() {
|
|
80
|
-
return this._detailErrorCode;
|
|
81
|
-
}
|
|
82
|
-
get endUserErrors() {
|
|
83
|
-
return this._endUserErrors;
|
|
84
|
-
}
|
|
85
|
-
get details() {
|
|
86
|
-
return this._details;
|
|
87
|
-
}
|
|
88
|
-
get requestId() {
|
|
89
|
-
return this._requestId;
|
|
90
|
-
}
|
|
91
|
-
get wrappedError() {
|
|
92
|
-
return this._wrappedError;
|
|
93
|
-
}
|
|
94
|
-
set httpStatusCode(value) {
|
|
95
|
-
this._httpStatusCode = value || 500;
|
|
96
|
-
}
|
|
97
|
-
set errors(value) {
|
|
98
|
-
this._errors = value || ['Internal Server Error'];
|
|
99
|
-
this.message = EpsilonHttpError.combineErrorStringsWithDefault(this._errors);
|
|
100
|
-
}
|
|
101
|
-
set detailErrorCode(value) {
|
|
102
|
-
this._detailErrorCode = value;
|
|
103
|
-
}
|
|
104
|
-
set endUserErrors(value) {
|
|
105
|
-
this._endUserErrors = value;
|
|
106
|
-
}
|
|
107
|
-
set details(value) {
|
|
108
|
-
this._details = value;
|
|
109
|
-
}
|
|
110
|
-
set requestId(value) {
|
|
111
|
-
this._requestId = value || 'MISSING';
|
|
112
|
-
}
|
|
113
|
-
set wrappedError(value) {
|
|
114
|
-
this._wrappedError = value;
|
|
115
|
-
}
|
|
116
|
-
static errorIsX0x(errIn, xClass) {
|
|
117
|
-
let rval = false;
|
|
118
|
-
if (errIn && EpsilonHttpError.objectIsEpsilonHttpError(errIn)) {
|
|
119
|
-
const err = errIn;
|
|
120
|
-
const val = NumberRatchet.safeNumber(err.httpStatusCode);
|
|
121
|
-
const bot = xClass * 100;
|
|
122
|
-
const top = bot + 99;
|
|
123
|
-
rval = val >= bot && val <= top;
|
|
124
|
-
}
|
|
125
|
-
return rval;
|
|
126
|
-
}
|
|
127
|
-
static errorIs40x(err) {
|
|
128
|
-
return EpsilonHttpError.errorIsX0x(err, 4);
|
|
129
|
-
}
|
|
130
|
-
static errorIs50x(err) {
|
|
131
|
-
return EpsilonHttpError.errorIsX0x(err, 5);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
export { EpsilonHttpError };
|
|
135
|
-
//# sourceMappingURL=epsilon-http-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-http-error.js","sourceRoot":"","sources":["../../../src/http/error/epsilon-http-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
describe('#epsilonHttpError', function () {
|
|
3
|
-
it('chould check if the error is a given class', async () => {
|
|
4
|
-
const testError = new EpsilonHttpError('test').withHttpStatusCode(404);
|
|
5
|
-
const nonHttpError = new Error('Not HTTP');
|
|
6
|
-
expect(EpsilonHttpError.errorIs40x(testError)).toBeTruthy();
|
|
7
|
-
expect(EpsilonHttpError.errorIs50x(testError)).toBeFalsy();
|
|
8
|
-
expect(EpsilonHttpError.errorIs40x(nonHttpError)).toBeFalsy();
|
|
9
|
-
expect(EpsilonHttpError.errorIs50x(testError)).toBeFalsy();
|
|
10
|
-
});
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=epsilon-http-error.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-http-error.spec.js","sourceRoot":"","sources":["../../../src/http/error/epsilon-http-error.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,SAAS,GAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAU,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC5D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC9D,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class ForbiddenError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 403;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(ForbiddenError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { ForbiddenError };
|
|
10
|
-
//# sourceMappingURL=forbidden-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forbidden-error.js","sourceRoot":"","sources":["../../../src/http/error/forbidden-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,cAAyB,SAAQ,gBAAmB;IACxD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;;SANU,cAAc"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class GatewayTimeout extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 504;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(GatewayTimeout.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { GatewayTimeout };
|
|
10
|
-
//# sourceMappingURL=gateway-timeout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-timeout.js","sourceRoot":"","sources":["../../../src/http/error/gateway-timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,cAAyB,SAAQ,gBAAmB;IACxD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;;SANU,cAAc"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class MethodNotAllowedError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 405;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(MethodNotAllowedError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { MethodNotAllowedError };
|
|
10
|
-
//# sourceMappingURL=method-not-allowed-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"method-not-allowed-error.js","sourceRoot":"","sources":["../../../src/http/error/method-not-allowed-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,qBAAgC,SAAQ,gBAAmB;IAC/D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;;SANU,qBAAqB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class MisconfiguredError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 500;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(MisconfiguredError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { MisconfiguredError };
|
|
10
|
-
//# sourceMappingURL=misconfigured-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"misconfigured-error.js","sourceRoot":"","sources":["../../../src/http/error/misconfigured-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,kBAA6B,SAAQ,gBAAmB;IAC5D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;;SANU,kBAAkB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class NotFoundError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 404;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(NotFoundError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { NotFoundError };
|
|
10
|
-
//# sourceMappingURL=not-found-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-found-error.js","sourceRoot":"","sources":["../../../src/http/error/not-found-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,aAAwB,SAAQ,gBAAmB;IACvD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;;SANU,aAAa"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class NotImplemented extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 501;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(NotImplemented.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { NotImplemented };
|
|
10
|
-
//# sourceMappingURL=not-implemented.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-implemented.js","sourceRoot":"","sources":["../../../src/http/error/not-implemented.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,cAAyB,SAAQ,gBAAmB;IACxD,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;;SANU,cAAc"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class RequestTimeoutError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 500;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(RequestTimeoutError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { RequestTimeoutError };
|
|
10
|
-
//# sourceMappingURL=request-timeout-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-timeout-error.js","sourceRoot":"","sources":["../../../src/http/error/request-timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,mBAA8B,SAAQ,gBAAmB;IAC7D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;;SANU,mBAAmB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class ServiceUnavailable extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 503;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(ServiceUnavailable.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { ServiceUnavailable };
|
|
10
|
-
//# sourceMappingURL=service-unavailable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-unavailable.js","sourceRoot":"","sources":["../../../src/http/error/service-unavailable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,kBAA6B,SAAQ,gBAAmB;IAC5D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;;SANU,kBAAkB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class TooManyRequestsError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 429;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(TooManyRequestsError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { TooManyRequestsError };
|
|
10
|
-
//# sourceMappingURL=too-many-requests-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"too-many-requests-error.js","sourceRoot":"","sources":["../../../src/http/error/too-many-requests-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,oBAA+B,SAAQ,gBAAmB;IAC9D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;;SANU,oBAAoB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { EpsilonHttpError } from './epsilon-http-error.js';
|
|
2
|
-
class UnauthorizedError extends EpsilonHttpError {
|
|
3
|
-
static HTTP_CODE = 401;
|
|
4
|
-
constructor(...errors) {
|
|
5
|
-
super(...errors);
|
|
6
|
-
this.withHttpStatusCode(UnauthorizedError.HTTP_CODE);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export { UnauthorizedError };
|
|
10
|
-
//# sourceMappingURL=unauthorized-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unauthorized-error.js","sourceRoot":"","sources":["../../../src/http/error/unauthorized-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAa,iBAA4B,SAAQ,gBAAmB;IAC3D,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IAE/C,YAAY,GAAG,MAAgB;QAC7B,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;;SANU,iBAAiB"}
|