@aws-amplify/core 6.0.1-api-v6-models.9351bcf.0 → 6.0.1-api-v6-models.891fe0d.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -21
- package/lib/BackgroundProcessManager/BackgroundProcessManager.js +126 -245
- package/lib/Cache/StorageCache.js +32 -92
- package/lib/Cache/StorageCache.native.js +38 -140
- package/lib/Cache/StorageCacheCommon.js +271 -600
- package/lib/Cache/index.js +1 -1
- package/lib/Cache/utils/CacheList.js +42 -66
- package/lib/Cache/utils/cacheHelpers.js +6 -8
- package/lib/Cache/utils/errorHelpers.js +6 -7
- package/lib/Hub/index.js +34 -74
- package/lib/I18n/I18n.js +24 -39
- package/lib/I18n/errorHelpers.js +4 -5
- package/lib/I18n/index.js +24 -27
- package/lib/I18n/types.js +3 -4
- package/lib/Logger/ConsoleLogger.js +53 -129
- package/lib/Mutex/Mutex.js +15 -19
- package/lib/Platform/customUserAgent.js +13 -26
- package/lib/Platform/detectFramework.js +12 -13
- package/lib/Platform/detection/Angular.js +4 -5
- package/lib/Platform/detection/Expo.js +1 -1
- package/lib/Platform/detection/Next.js +1 -1
- package/lib/Platform/detection/Nuxt.js +1 -1
- package/lib/Platform/detection/React.js +5 -5
- package/lib/Platform/detection/Svelte.js +2 -2
- package/lib/Platform/detection/Vue.js +1 -1
- package/lib/Platform/detection/Web.js +1 -1
- package/lib/Platform/detection/helpers.js +7 -7
- package/lib/Platform/detection/index.js +13 -13
- package/lib/Platform/index.js +26 -55
- package/lib/Platform/types.d.ts +1 -1
- package/lib/Platform/types.js +1 -1
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Reachability/Reachability.js +20 -48
- package/lib/Reachability/Reachability.native.js +12 -16
- package/lib/ServiceWorker/ServiceWorker.js +80 -136
- package/lib/ServiceWorker/errorHelpers.js +6 -7
- package/lib/Signer/DateUtils.d.ts +9 -0
- package/lib/Signer/DateUtils.js +19 -28
- package/lib/Signer/Signer.d.ts +9 -0
- package/lib/Signer/Signer.js +58 -54
- package/lib/adapterCore/error/AmplifyServerContextError.js +9 -27
- package/lib/adapterCore/serverContext/serverContext.js +8 -8
- package/lib/adapterCore/serverContext/serverContextRegistry.js +6 -6
- package/lib/awsClients/cognitoIdentity/base.js +25 -73
- package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +24 -68
- package/lib/awsClients/cognitoIdentity/getId.js +19 -62
- package/lib/awsClients/pinpoint/base.js +12 -15
- package/lib/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib/awsClients/pinpoint/getInAppMessages.js +24 -68
- package/lib/awsClients/pinpoint/putEvents.js +26 -70
- package/lib/awsClients/pinpoint/updateEndpoint.js +28 -72
- package/lib/clients/endpoints/getDnsSuffix.js +7 -29
- package/lib/clients/handlers/authenticated.js +5 -5
- package/lib/clients/handlers/fetch.js +41 -98
- package/lib/clients/handlers/unauthenticated.js +4 -4
- package/lib/clients/internal/composeServiceApi.js +17 -67
- package/lib/clients/internal/composeTransferHandler.js +9 -11
- package/lib/clients/middleware/retry/defaultRetryDecider.js +18 -75
- package/lib/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib/clients/middleware/retry/jitteredBackoff.js +5 -5
- package/lib/clients/middleware/retry/middleware.js +61 -125
- package/lib/clients/middleware/signing/middleware.js +24 -86
- package/lib/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +21 -56
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +14 -25
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +7 -7
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +13 -17
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +2 -2
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +7 -11
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +9 -10
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +8 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +15 -16
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +2 -4
- package/lib/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +2 -2
- package/lib/clients/middleware/signing/utils/isClockSkewed.js +4 -6
- package/lib/clients/middleware/userAgent/middleware.js +14 -63
- package/lib/clients/serde/json.js +30 -96
- package/lib/clients/serde/responseInfo.js +12 -18
- package/lib/clients/utils/memoization.js +3 -3
- package/lib/constants.js +1 -1
- package/lib/errors/AmplifyError.js +9 -28
- package/lib/errors/PlatformNotSupportedError.js +7 -24
- package/lib/errors/createAssertionFunction.js +12 -15
- package/lib/errors/errorHelpers.js +7 -8
- package/lib/index.d.ts +1 -1
- package/lib/libraryUtils.d.ts +4 -0
- package/lib/libraryUtils.js +13 -3
- package/lib/parseAWSExports.js +109 -100
- package/lib/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib/providers/personalize/types/personalize.d.ts +1 -1
- package/lib/providers/pinpoint/apis/flushEvents.js +8 -8
- package/lib/providers/pinpoint/apis/record.js +58 -93
- package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -112
- package/lib/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +105 -196
- package/lib/providers/pinpoint/utils/cacheEndpointId.js +12 -49
- package/lib/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib/providers/pinpoint/utils/getEndpointId.js +7 -51
- package/lib/providers/pinpoint/utils/getEventBuffer.js +19 -21
- package/lib/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib/providers/pinpoint/utils/isAppInForeground.native.js +2 -2
- package/lib/providers/pinpoint/utils/resolveEndpointId.js +20 -71
- package/lib/singleton/Amplify.d.ts +4 -0
- package/lib/singleton/Amplify.js +21 -103
- package/lib/singleton/Analytics/types.d.ts +5 -1
- package/lib/singleton/Auth/index.js +48 -115
- package/lib/singleton/Auth/types.d.ts +2 -2
- package/lib/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib/singleton/Auth/utils/index.js +18 -19
- package/lib/singleton/Predictions/types.d.ts +49 -0
- package/lib/singleton/Predictions/types.js +4 -0
- package/lib/singleton/apis/clearCredentials.js +1 -1
- package/lib/singleton/apis/fetchAuthSession.js +3 -3
- package/lib/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib/singleton/apis/server/fetchAuthSession.js +3 -3
- package/lib/singleton/types.d.ts +3 -1
- package/lib/storage/CookieStorage.js +29 -99
- package/lib/storage/CookieStorage.native.js +5 -22
- package/lib/storage/DefaultStorage.js +6 -23
- package/lib/storage/DefaultStorage.native.js +18 -64
- package/lib/storage/InMemoryStorage.js +17 -23
- package/lib/storage/KeyValueStorage.js +24 -80
- package/lib/storage/SessionStorage.js +6 -23
- package/lib/storage/index.js +4 -4
- package/lib/storage/utils.js +7 -11
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/WordArray.d.ts +7 -0
- package/lib/utils/WordArray.js +49 -0
- package/lib/utils/amplifyUrl/index.js +2 -2
- package/lib/utils/amplifyUrl/polyfill.native.js +1 -1
- package/lib/utils/amplifyUuid/index.d.ts +1 -1
- package/lib/utils/amplifyUuid/index.js +2 -2
- package/lib/utils/amplifyUuid/polyfill.native.js +1 -1
- package/lib/utils/convert/base64/base64Decoder.js +2 -2
- package/lib/utils/convert/base64/base64Encoder.js +5 -6
- package/lib/utils/convert/base64/bytesToString.js +1 -1
- package/lib/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib/utils/cryptoSecureRandomInt.js +16 -0
- package/lib/utils/deepFreeze.js +6 -28
- package/lib/utils/generateRandomString.js +4 -4
- package/lib/utils/getClientInfo/getClientInfo.android.js +7 -7
- package/lib/utils/getClientInfo/getClientInfo.ios.js +12 -12
- package/lib/utils/getClientInfo/getClientInfo.js +16 -16
- package/lib/utils/globalHelpers/index.js +4 -4
- package/lib/utils/globalHelpers/index.native.js +6 -6
- package/lib/utils/isBrowser.js +1 -3
- package/lib/utils/isWebWorker.js +2 -2
- package/lib/utils/retry/NonRetryableError.js +5 -23
- package/lib/utils/retry/isNonRetryableError.js +2 -2
- package/lib/utils/retry/jitteredBackoff.js +6 -7
- package/lib/utils/retry/jitteredExponentialRetry.js +4 -7
- package/lib/utils/retry/retry.js +50 -140
- package/lib/utils/sessionListener/SessionListener.js +17 -19
- package/lib/utils/sessionListener/SessionListener.native.js +18 -22
- package/lib/utils/sessionListener/constants.d.ts +2 -0
- package/lib/utils/sessionListener/constants.js +8 -0
- package/lib/utils/sessionListener/index.d.ts +1 -0
- package/lib/utils/sessionListener/index.js +5 -2
- package/lib/utils/urlSafeDecode.js +2 -2
- package/lib/utils/urlSafeEncode.js +1 -1
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -22
- package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +124 -244
- package/lib-esm/Cache/StorageCache.js +26 -87
- package/lib-esm/Cache/StorageCache.native.js +33 -136
- package/lib-esm/Cache/StorageCacheCommon.js +267 -597
- package/lib-esm/Cache/constants.js +2 -2
- package/lib-esm/Cache/index.js +1 -1
- package/lib-esm/Cache/utils/CacheList.js +41 -66
- package/lib-esm/Cache/utils/cacheHelpers.js +5 -7
- package/lib-esm/Cache/utils/errorHelpers.js +6 -7
- package/lib-esm/Hub/index.js +34 -75
- package/lib-esm/I18n/I18n.js +23 -39
- package/lib-esm/I18n/errorHelpers.js +4 -5
- package/lib-esm/I18n/index.js +21 -25
- package/lib-esm/I18n/types.js +3 -5
- package/lib-esm/Logger/ConsoleLogger.js +52 -128
- package/lib-esm/Mutex/Mutex.js +15 -20
- package/lib-esm/Platform/customUserAgent.js +13 -26
- package/lib-esm/Platform/detectFramework.js +11 -12
- package/lib-esm/Platform/detection/Angular.js +3 -4
- package/lib-esm/Platform/detection/React.js +4 -4
- package/lib-esm/Platform/detection/Svelte.js +1 -1
- package/lib-esm/Platform/detection/helpers.js +7 -7
- package/lib-esm/Platform/detection/index.js +3 -3
- package/lib-esm/Platform/index.js +23 -52
- package/lib-esm/Platform/types.d.ts +1 -1
- package/lib-esm/Platform/types.js +1 -1
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Reachability/Reachability.js +18 -46
- package/lib-esm/Reachability/Reachability.native.js +10 -15
- package/lib-esm/ServiceWorker/ServiceWorker.js +74 -131
- package/lib-esm/ServiceWorker/errorHelpers.js +6 -7
- package/lib-esm/Signer/DateUtils.d.ts +9 -0
- package/lib-esm/Signer/DateUtils.js +20 -29
- package/lib-esm/Signer/Signer.d.ts +9 -0
- package/lib-esm/Signer/Signer.js +54 -51
- package/lib-esm/adapterCore/error/AmplifyServerContextError.js +8 -27
- package/lib-esm/adapterCore/serverContext/serverContext.js +6 -6
- package/lib-esm/adapterCore/serverContext/serverContextRegistry.js +7 -7
- package/lib-esm/awsClients/cognitoIdentity/base.js +21 -69
- package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +22 -66
- package/lib-esm/awsClients/cognitoIdentity/getId.js +17 -60
- package/lib-esm/awsClients/pinpoint/base.js +8 -11
- package/lib-esm/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib-esm/awsClients/pinpoint/getInAppMessages.js +19 -63
- package/lib-esm/awsClients/pinpoint/putEvents.js +20 -64
- package/lib-esm/awsClients/pinpoint/updateEndpoint.js +23 -67
- package/lib-esm/clients/endpoints/getDnsSuffix.js +6 -28
- package/lib-esm/clients/endpoints/partitions.js +2 -2
- package/lib-esm/clients/handlers/authenticated.js +1 -1
- package/lib-esm/clients/handlers/fetch.js +40 -97
- package/lib-esm/clients/handlers/unauthenticated.js +1 -1
- package/lib-esm/clients/internal/composeServiceApi.js +17 -67
- package/lib-esm/clients/internal/composeTransferHandler.js +9 -11
- package/lib-esm/clients/middleware/retry/defaultRetryDecider.js +17 -74
- package/lib-esm/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib-esm/clients/middleware/retry/jitteredBackoff.js +4 -4
- package/lib-esm/clients/middleware/retry/middleware.js +61 -125
- package/lib-esm/clients/middleware/signing/middleware.js +21 -83
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +17 -17
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +17 -52
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +10 -21
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +5 -5
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +8 -12
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +1 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +5 -9
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +5 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +6 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +13 -14
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +1 -1
- package/lib-esm/clients/middleware/signing/utils/isClockSkewed.js +3 -5
- package/lib-esm/clients/middleware/userAgent/middleware.js +14 -63
- package/lib-esm/clients/serde/json.js +29 -95
- package/lib-esm/clients/serde/responseInfo.js +11 -17
- package/lib-esm/clients/utils/memoization.js +3 -3
- package/lib-esm/constants.js +5 -5
- package/lib-esm/errors/AmplifyError.js +9 -29
- package/lib-esm/errors/PlatformNotSupportedError.js +5 -23
- package/lib-esm/errors/createAssertionFunction.js +11 -14
- package/lib-esm/errors/errorHelpers.js +6 -7
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/libraryUtils.d.ts +4 -0
- package/lib-esm/libraryUtils.js +4 -0
- package/lib-esm/parseAWSExports.js +108 -99
- package/lib-esm/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib-esm/providers/personalize/types/personalize.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +6 -6
- package/lib-esm/providers/pinpoint/apis/record.js +54 -89
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +61 -108
- package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +102 -194
- package/lib-esm/providers/pinpoint/utils/cacheEndpointId.js +10 -47
- package/lib-esm/providers/pinpoint/utils/constants.js +4 -4
- package/lib-esm/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib-esm/providers/pinpoint/utils/getEndpointId.js +5 -49
- package/lib-esm/providers/pinpoint/utils/getEventBuffer.js +17 -19
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +1 -1
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +16 -67
- package/lib-esm/singleton/Amplify.d.ts +4 -0
- package/lib-esm/singleton/Amplify.js +18 -101
- package/lib-esm/singleton/Analytics/types.d.ts +5 -1
- package/lib-esm/singleton/Auth/index.js +48 -116
- package/lib-esm/singleton/Auth/types.d.ts +2 -2
- package/lib-esm/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib-esm/singleton/Auth/utils/index.js +16 -17
- package/lib-esm/singleton/Predictions/types.d.ts +49 -0
- package/lib-esm/singleton/Predictions/types.js +3 -0
- package/lib-esm/singleton/apis/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/server/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/types.d.ts +3 -1
- package/lib-esm/storage/CookieStorage.js +28 -99
- package/lib-esm/storage/CookieStorage.native.js +4 -22
- package/lib-esm/storage/DefaultStorage.js +4 -22
- package/lib-esm/storage/DefaultStorage.native.js +17 -64
- package/lib-esm/storage/InMemoryStorage.js +17 -24
- package/lib-esm/storage/KeyValueStorage.js +23 -80
- package/lib-esm/storage/SessionStorage.js +4 -22
- package/lib-esm/storage/index.js +3 -3
- package/lib-esm/storage/utils.js +6 -10
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/utils/WordArray.d.ts +7 -0
- package/lib-esm/utils/WordArray.js +46 -0
- package/lib-esm/utils/amplifyUrl/index.js +2 -2
- package/lib-esm/utils/amplifyUuid/index.d.ts +1 -1
- package/lib-esm/utils/amplifyUuid/index.js +1 -1
- package/lib-esm/utils/convert/base64/base64Decoder.js +2 -2
- package/lib-esm/utils/convert/base64/base64Encoder.js +4 -5
- package/lib-esm/utils/convert/base64/bytesToString.js +1 -1
- package/lib-esm/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib-esm/utils/cryptoSecureRandomInt.js +12 -0
- package/lib-esm/utils/deepFreeze.js +6 -28
- package/lib-esm/utils/generateRandomString.js +4 -4
- package/lib-esm/utils/getClientInfo/getClientInfo.android.js +5 -5
- package/lib-esm/utils/getClientInfo/getClientInfo.ios.js +10 -10
- package/lib-esm/utils/getClientInfo/getClientInfo.js +15 -15
- package/lib-esm/utils/globalHelpers/index.js +3 -3
- package/lib-esm/utils/globalHelpers/index.native.js +4 -4
- package/lib-esm/utils/isBrowser.js +1 -3
- package/lib-esm/utils/isWebWorker.js +2 -2
- package/lib-esm/utils/retry/NonRetryableError.js +5 -24
- package/lib-esm/utils/retry/constants.js +1 -1
- package/lib-esm/utils/retry/isNonRetryableError.js +2 -2
- package/lib-esm/utils/retry/jitteredBackoff.js +5 -6
- package/lib-esm/utils/retry/jitteredExponentialRetry.js +1 -4
- package/lib-esm/utils/retry/retry.js +48 -138
- package/lib-esm/utils/sessionListener/SessionListener.js +16 -19
- package/lib-esm/utils/sessionListener/SessionListener.native.js +17 -22
- package/lib-esm/utils/sessionListener/constants.d.ts +2 -0
- package/lib-esm/utils/sessionListener/constants.js +5 -0
- package/lib-esm/utils/sessionListener/index.d.ts +1 -0
- package/lib-esm/utils/sessionListener/index.js +2 -1
- package/lib-esm/utils/urlSafeDecode.js +2 -2
- package/lib-esm/utils/urlSafeEncode.js +1 -1
- package/package.json +11 -24
- package/src/Cache/types/index.ts +4 -4
- package/src/Platform/types.ts +1 -1
- package/src/Platform/version.ts +1 -1
- package/src/Signer/DateUtils.ts +10 -2
- package/src/Signer/Signer.ts +9 -2
- package/src/clients/middleware/signing/signer/signatureV4/index.ts +0 -1
- package/src/index.ts +1 -0
- package/src/libraryUtils.ts +7 -1
- package/src/parseAWSExports.ts +45 -6
- package/src/providers/kinesis/types/kinesis.ts +1 -1
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +1 -1
- package/src/providers/personalize/types/personalize.ts +1 -1
- package/src/providers/pinpoint/apis/record.ts +22 -5
- package/src/providers/pinpoint/types/pinpoint.ts +3 -1
- package/src/singleton/Amplify.ts +9 -52
- package/src/singleton/Analytics/types.ts +9 -4
- package/src/singleton/Auth/types.ts +2 -2
- package/src/singleton/Predictions/types.ts +61 -0
- package/src/singleton/types.ts +3 -1
- package/src/utils/WordArray.ts +57 -0
- package/src/utils/amplifyUuid/index.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +14 -0
- package/src/utils/sessionListener/constants.ts +6 -0
- package/src/utils/sessionListener/index.ts +1 -0
|
@@ -6,30 +6,22 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
finally { if (e) throw e.error; }
|
|
22
|
-
}
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
// Comment - TODO: remove
|
|
26
|
-
var FIVE_MINUTES_IN_MS = 1000 * 60 * 5;
|
|
27
|
-
export var DateUtils = {
|
|
9
|
+
const FIVE_MINUTES_IN_MS = 1000 * 60 * 5;
|
|
10
|
+
/**
|
|
11
|
+
* This utility is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
12
|
+
* `clients/middleware/signing/signer/signatureV4`.
|
|
13
|
+
*
|
|
14
|
+
* TODO: refactor the logics here into `signRequest` and `presignUrl` functions and remove this class.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
export const DateUtils = {
|
|
28
20
|
/**
|
|
29
21
|
* Milliseconds to offset the date to compensate for clock skew between device & services
|
|
30
22
|
*/
|
|
31
23
|
clockOffset: 0,
|
|
32
|
-
getDateWithClockOffset
|
|
24
|
+
getDateWithClockOffset() {
|
|
33
25
|
if (DateUtils.clockOffset) {
|
|
34
26
|
return new Date(new Date().getTime() + DateUtils.clockOffset);
|
|
35
27
|
}
|
|
@@ -40,33 +32,32 @@ export var DateUtils = {
|
|
|
40
32
|
/**
|
|
41
33
|
* @returns {number} Clock offset in milliseconds
|
|
42
34
|
*/
|
|
43
|
-
getClockOffset
|
|
35
|
+
getClockOffset() {
|
|
44
36
|
return DateUtils.clockOffset;
|
|
45
37
|
},
|
|
46
|
-
getHeaderStringFromDate
|
|
47
|
-
if (date === void 0) { date = DateUtils.getDateWithClockOffset(); }
|
|
38
|
+
getHeaderStringFromDate(date = DateUtils.getDateWithClockOffset()) {
|
|
48
39
|
return date.toISOString().replace(/[:\-]|\.\d{3}/g, '');
|
|
49
40
|
},
|
|
50
|
-
getDateFromHeaderString
|
|
51
|
-
|
|
41
|
+
getDateFromHeaderString(header) {
|
|
42
|
+
const [, year, month, day, hour, minute, second] = header.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2}).+/);
|
|
52
43
|
return new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));
|
|
53
44
|
},
|
|
54
|
-
isClockSkewed
|
|
45
|
+
isClockSkewed(serverDate) {
|
|
55
46
|
// API gateway permits client calls that are off by no more than ±5 minutes
|
|
56
47
|
return (Math.abs(serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()) >= FIVE_MINUTES_IN_MS);
|
|
57
48
|
},
|
|
58
|
-
isClockSkewError
|
|
49
|
+
isClockSkewError(error) {
|
|
59
50
|
if (!error.response || !error.response.headers) {
|
|
60
51
|
return false;
|
|
61
52
|
}
|
|
62
|
-
|
|
53
|
+
const { headers } = error.response;
|
|
63
54
|
return Boolean(['BadRequestException', 'InvalidSignatureException'].includes(headers['x-amzn-errortype']) &&
|
|
64
55
|
(headers.date || headers.Date));
|
|
65
56
|
},
|
|
66
57
|
/**
|
|
67
58
|
* @param {number} offset Clock offset in milliseconds
|
|
68
59
|
*/
|
|
69
|
-
setClockOffset
|
|
60
|
+
setClockOffset(offset) {
|
|
70
61
|
DateUtils.clockOffset = offset;
|
|
71
62
|
},
|
|
72
63
|
};
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
3
|
+
* `clients/middleware/signing/signer/signatureV4`.
|
|
4
|
+
*
|
|
5
|
+
* TODO: refactor the logics here into `signRequest` and `presignUrl` functions and remove this class.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
* @deprecated
|
|
9
|
+
*/
|
|
1
10
|
export declare class Signer {
|
|
2
11
|
/**
|
|
3
12
|
* Sign a HTTP request, add 'Authorization' header to request param
|
package/lib-esm/Signer/Signer.js
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
3
|
import { DateUtils } from './DateUtils';
|
|
15
4
|
import { presignUrl, signRequest, TOKEN_QUERY_PARAM, } from '../clients/middleware/signing/signer/signatureV4';
|
|
16
5
|
import { AmplifyUrl } from '../utils/amplifyUrl';
|
|
17
|
-
|
|
6
|
+
const IOT_SERVICE_NAME = 'iotdevicegateway';
|
|
18
7
|
// Best practice regex to parse the service and region from an AWS endpoint
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
8
|
+
const AWS_ENDPOINT_REGEX = /([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(.cn)?$/;
|
|
9
|
+
/**
|
|
10
|
+
* This class is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
11
|
+
* `clients/middleware/signing/signer/signatureV4`.
|
|
12
|
+
*
|
|
13
|
+
* TODO: refactor the logics here into `signRequest` and `presignUrl` functions and remove this class.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
* @deprecated
|
|
17
|
+
*/
|
|
18
|
+
export class Signer {
|
|
23
19
|
/**
|
|
24
20
|
* Sign a HTTP request, add 'Authorization' header to request param
|
|
25
21
|
* @method sign
|
|
@@ -56,14 +52,18 @@ var Signer = /** @class */ (function () {
|
|
|
56
52
|
*
|
|
57
53
|
* @returns {object} Signed HTTP request
|
|
58
54
|
*/
|
|
59
|
-
|
|
55
|
+
static sign(request, accessInfo, serviceInfo) {
|
|
60
56
|
request.headers = request.headers || {};
|
|
61
57
|
if (request.body && !request.data) {
|
|
62
58
|
throw new Error('The attribute "body" was found on the request object. Please use the attribute "data" instead.');
|
|
63
59
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
const requestToSign = {
|
|
61
|
+
...request,
|
|
62
|
+
body: request.data,
|
|
63
|
+
url: new AmplifyUrl(request.url),
|
|
64
|
+
};
|
|
65
|
+
const options = getOptions(requestToSign, accessInfo, serviceInfo);
|
|
66
|
+
const signedRequest = signRequest(requestToSign, options);
|
|
67
67
|
// Prior to using `signRequest`, Signer accepted urls as strings and outputted urls as string. Coerce the property
|
|
68
68
|
// back to a string so as not to disrupt consumers of Signer.
|
|
69
69
|
signedRequest.url = signedRequest.url.toString();
|
|
@@ -75,42 +75,48 @@ var Signer = /** @class */ (function () {
|
|
|
75
75
|
delete signedRequest.headers.authorization;
|
|
76
76
|
delete signedRequest.headers['x-amz-security-token'];
|
|
77
77
|
return signedRequest;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
body
|
|
85
|
-
method
|
|
78
|
+
}
|
|
79
|
+
static signUrl(urlOrRequest, accessInfo, serviceInfo, expiration) {
|
|
80
|
+
const urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;
|
|
81
|
+
const method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';
|
|
82
|
+
const body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;
|
|
83
|
+
const presignable = {
|
|
84
|
+
body,
|
|
85
|
+
method,
|
|
86
86
|
url: new AmplifyUrl(urlToSign),
|
|
87
87
|
};
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
const options = getOptions(presignable, accessInfo, serviceInfo, expiration);
|
|
89
|
+
const signedUrl = presignUrl(presignable, options);
|
|
90
90
|
if (accessInfo.session_token &&
|
|
91
91
|
!sessionTokenRequiredInSigning(options.signingService)) {
|
|
92
92
|
signedUrl.searchParams.append(TOKEN_QUERY_PARAM, accessInfo.session_token);
|
|
93
93
|
}
|
|
94
94
|
return signedUrl.toString();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const getOptions = (request, accessInfo, serviceInfo, expiration) => {
|
|
98
|
+
const { access_key, secret_key, session_token } = accessInfo ?? {};
|
|
99
|
+
const { region: urlRegion, service: urlService } = parseServiceInfo(request.url);
|
|
100
|
+
const { region = urlRegion, service = urlService } = serviceInfo ?? {};
|
|
101
|
+
const credentials = {
|
|
102
|
+
accessKeyId: access_key,
|
|
103
|
+
secretAccessKey: secret_key,
|
|
104
|
+
...(sessionTokenRequiredInSigning(service)
|
|
105
|
+
? { sessionToken: session_token }
|
|
106
|
+
: {}),
|
|
107
|
+
};
|
|
108
|
+
return {
|
|
109
|
+
credentials,
|
|
110
|
+
signingDate: DateUtils.getDateWithClockOffset(),
|
|
111
|
+
signingRegion: region,
|
|
112
|
+
signingService: service,
|
|
113
|
+
...(expiration && { expiration }),
|
|
95
114
|
};
|
|
96
|
-
return Signer;
|
|
97
|
-
}());
|
|
98
|
-
export { Signer };
|
|
99
|
-
var getOptions = function (request, accessInfo, serviceInfo, expiration) {
|
|
100
|
-
var _a = accessInfo !== null && accessInfo !== void 0 ? accessInfo : {}, access_key = _a.access_key, secret_key = _a.secret_key, session_token = _a.session_token;
|
|
101
|
-
var _b = parseServiceInfo(request.url), urlRegion = _b.region, urlService = _b.service;
|
|
102
|
-
var _c = serviceInfo !== null && serviceInfo !== void 0 ? serviceInfo : {}, _d = _c.region, region = _d === void 0 ? urlRegion : _d, _e = _c.service, service = _e === void 0 ? urlService : _e;
|
|
103
|
-
var credentials = __assign({ accessKeyId: access_key, secretAccessKey: secret_key }, (sessionTokenRequiredInSigning(service)
|
|
104
|
-
? { sessionToken: session_token }
|
|
105
|
-
: {}));
|
|
106
|
-
return __assign({ credentials: credentials, signingDate: DateUtils.getDateWithClockOffset(), signingRegion: region, signingService: service }, (expiration && { expiration: expiration }));
|
|
107
115
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var matched = (_a = host.match(AWS_ENDPOINT_REGEX)) !== null && _a !== void 0 ? _a : [];
|
|
113
|
-
var parsed = matched.slice(1, 3);
|
|
116
|
+
const parseServiceInfo = (url) => {
|
|
117
|
+
const host = url.host;
|
|
118
|
+
const matched = host.match(AWS_ENDPOINT_REGEX) ?? [];
|
|
119
|
+
let parsed = matched.slice(1, 3);
|
|
114
120
|
if (parsed[1] === 'es') {
|
|
115
121
|
// Elastic Search
|
|
116
122
|
parsed = parsed.reverse();
|
|
@@ -122,7 +128,4 @@ var parseServiceInfo = function (url) {
|
|
|
122
128
|
};
|
|
123
129
|
// IoT service does not allow the session token in the canonical request
|
|
124
130
|
// https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html
|
|
125
|
-
|
|
126
|
-
var sessionTokenRequiredInSigning = function (service) {
|
|
127
|
-
return service !== IOT_SERVICE_NAME;
|
|
128
|
-
};
|
|
131
|
+
const sessionTokenRequiredInSigning = (service) => service !== IOT_SERVICE_NAME;
|
|
@@ -1,32 +1,13 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __extends = (this && this.__extends) || (function () {
|
|
4
|
-
var extendStatics = function (d, b) {
|
|
5
|
-
extendStatics = Object.setPrototypeOf ||
|
|
6
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
7
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
8
|
-
return extendStatics(d, b);
|
|
9
|
-
};
|
|
10
|
-
return function (d, b) {
|
|
11
|
-
if (typeof b !== "function" && b !== null)
|
|
12
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
13
|
-
extendStatics(d, b);
|
|
14
|
-
function __() { this.constructor = d; }
|
|
15
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
16
|
-
};
|
|
17
|
-
})();
|
|
18
3
|
import { AmplifyError } from '../../errors';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var message = _a.message, recoverySuggestion = _a.recoverySuggestion, underlyingError = _a.underlyingError;
|
|
23
|
-
return _super.call(this, {
|
|
4
|
+
export class AmplifyServerContextError extends AmplifyError {
|
|
5
|
+
constructor({ message, recoverySuggestion, underlyingError, }) {
|
|
6
|
+
super({
|
|
24
7
|
name: 'AmplifyServerContextError',
|
|
25
|
-
message
|
|
26
|
-
recoverySuggestion
|
|
27
|
-
underlyingError
|
|
28
|
-
})
|
|
8
|
+
message,
|
|
9
|
+
recoverySuggestion,
|
|
10
|
+
underlyingError,
|
|
11
|
+
});
|
|
29
12
|
}
|
|
30
|
-
|
|
31
|
-
}(AmplifyError));
|
|
32
|
-
export { AmplifyServerContextError };
|
|
13
|
+
}
|
|
@@ -8,11 +8,11 @@ import { AmplifyClass } from '../../singleton';
|
|
|
8
8
|
* @param libraryOptions The Amplify library options.
|
|
9
9
|
* @returns The Amplify server context spec.
|
|
10
10
|
*/
|
|
11
|
-
export
|
|
12
|
-
|
|
11
|
+
export const createAmplifyServerContext = (amplifyConfig, libraryOptions) => {
|
|
12
|
+
const amplify = new AmplifyClass();
|
|
13
13
|
amplify.configure(amplifyConfig, libraryOptions);
|
|
14
14
|
return serverContextRegistry.register({
|
|
15
|
-
amplify
|
|
15
|
+
amplify,
|
|
16
16
|
});
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
@@ -20,8 +20,8 @@ export var createAmplifyServerContext = function (amplifyConfig, libraryOptions)
|
|
|
20
20
|
* @param contextSpec The context spec used to get the Amplify server context.
|
|
21
21
|
* @returns The Amplify server context.
|
|
22
22
|
*/
|
|
23
|
-
export
|
|
24
|
-
|
|
23
|
+
export const getAmplifyServerContext = (contextSpec) => {
|
|
24
|
+
const context = serverContextRegistry.get(contextSpec);
|
|
25
25
|
if (context) {
|
|
26
26
|
return context;
|
|
27
27
|
}
|
|
@@ -31,6 +31,6 @@ export var getAmplifyServerContext = function (contextSpec) {
|
|
|
31
31
|
* Destroys an Amplify server context.
|
|
32
32
|
* @param contextSpec The context spec used to destroy the Amplify server context.
|
|
33
33
|
*/
|
|
34
|
-
export
|
|
34
|
+
export const destroyAmplifyServerContext = (contextSpec) => {
|
|
35
35
|
serverContextRegistry.deregister(contextSpec);
|
|
36
36
|
};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
3
|
+
const storage = new WeakMap();
|
|
4
4
|
function createToken() {
|
|
5
5
|
return {
|
|
6
6
|
value: Symbol('AmplifyServerContextToken'),
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
export
|
|
10
|
-
register
|
|
11
|
-
|
|
9
|
+
export const serverContextRegistry = {
|
|
10
|
+
register(context) {
|
|
11
|
+
const token = createToken();
|
|
12
12
|
storage.set(token, context);
|
|
13
|
-
return { token
|
|
13
|
+
return { token };
|
|
14
14
|
},
|
|
15
|
-
deregister
|
|
15
|
+
deregister(contextSpec) {
|
|
16
16
|
return storage.delete(contextSpec.token);
|
|
17
17
|
},
|
|
18
|
-
get
|
|
18
|
+
get(contextSpec) {
|
|
19
19
|
return storage.get(contextSpec.token);
|
|
20
20
|
},
|
|
21
21
|
};
|
|
@@ -1,41 +1,5 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
3
|
import { getDnsSuffix, unauthenticatedHandler, parseJsonError, } from '../../clients';
|
|
40
4
|
import { composeTransferHandler } from '../../clients/internal/composeTransferHandler';
|
|
41
5
|
import { jitteredBackoff, getRetryDecider, } from '../../clients/middleware/retry';
|
|
@@ -45,66 +9,54 @@ import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
|
45
9
|
/**
|
|
46
10
|
* The service name used to sign requests if the API requires authentication.
|
|
47
11
|
*/
|
|
48
|
-
|
|
12
|
+
const SERVICE_NAME = 'cognito-identity';
|
|
49
13
|
/**
|
|
50
14
|
* The endpoint resolver function that returns the endpoint URL for a given region.
|
|
51
15
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
url: new AmplifyUrl("https://cognito-identity.".concat(region, ".").concat(getDnsSuffix(region))),
|
|
56
|
-
});
|
|
57
|
-
};
|
|
16
|
+
const endpointResolver = ({ region }) => ({
|
|
17
|
+
url: new AmplifyUrl(`https://cognito-identity.${region}.${getDnsSuffix(region)}`),
|
|
18
|
+
});
|
|
58
19
|
/**
|
|
59
20
|
* A Cognito Identity-specific middleware that disables caching for all requests.
|
|
60
21
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
request.headers['cache-control'] = 'no-store';
|
|
66
|
-
return [2 /*return*/, next(request)];
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
}; };
|
|
22
|
+
const disableCacheMiddleware = () => (next, context) => async function disableCacheMiddleware(request) {
|
|
23
|
+
request.headers['cache-control'] = 'no-store';
|
|
24
|
+
return next(request);
|
|
25
|
+
};
|
|
71
26
|
/**
|
|
72
27
|
* A Cognito Identity-specific transfer handler that does NOT sign requests, and
|
|
73
28
|
* disables caching.
|
|
74
29
|
*
|
|
75
30
|
* @internal
|
|
76
31
|
*/
|
|
77
|
-
export
|
|
32
|
+
export const cognitoIdentityTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddleware]);
|
|
78
33
|
/**
|
|
79
34
|
* @internal
|
|
80
35
|
*/
|
|
81
|
-
export
|
|
36
|
+
export const defaultConfig = {
|
|
82
37
|
service: SERVICE_NAME,
|
|
83
|
-
endpointResolver
|
|
38
|
+
endpointResolver,
|
|
84
39
|
retryDecider: getRetryDecider(parseJsonError),
|
|
85
40
|
computeDelay: jitteredBackoff,
|
|
86
41
|
userAgentValue: getAmplifyUserAgent(),
|
|
87
42
|
cache: 'no-store',
|
|
88
43
|
};
|
|
89
|
-
observeFrameworkChanges(
|
|
44
|
+
observeFrameworkChanges(() => {
|
|
90
45
|
defaultConfig.userAgentValue = getAmplifyUserAgent();
|
|
91
46
|
});
|
|
92
47
|
/**
|
|
93
48
|
* @internal
|
|
94
49
|
*/
|
|
95
|
-
export
|
|
50
|
+
export const getSharedHeaders = (operation) => ({
|
|
96
51
|
'content-type': 'application/x-amz-json-1.1',
|
|
97
|
-
'x-amz-target':
|
|
98
|
-
});
|
|
52
|
+
'x-amz-target': `AWSCognitoIdentityService.${operation}`,
|
|
53
|
+
});
|
|
99
54
|
/**
|
|
100
55
|
* @internal
|
|
101
56
|
*/
|
|
102
|
-
export
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
method: 'POST',
|
|
109
|
-
});
|
|
110
|
-
};
|
|
57
|
+
export const buildHttpRpcRequest = ({ url }, headers, body) => ({
|
|
58
|
+
headers,
|
|
59
|
+
url,
|
|
60
|
+
body,
|
|
61
|
+
method: 'POST',
|
|
62
|
+
});
|
|
@@ -1,80 +1,36 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
3
|
import { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';
|
|
40
4
|
import { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';
|
|
41
5
|
import { composeServiceApi } from '../../clients/internal';
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
6
|
+
const getCredentialsForIdentitySerializer = (input, endpoint) => {
|
|
7
|
+
const headers = getSharedHeaders('GetCredentialsForIdentity');
|
|
8
|
+
const body = JSON.stringify(input);
|
|
45
9
|
return buildHttpRpcRequest(endpoint, headers, body);
|
|
46
10
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
Credentials: deserializeCredentials(body.Credentials),
|
|
63
|
-
$metadata: parseMetadata(response),
|
|
64
|
-
}];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}); };
|
|
68
|
-
var deserializeCredentials = function (_a) {
|
|
69
|
-
var _b = _a === void 0 ? {} : _a, AccessKeyId = _b.AccessKeyId, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, Expiration = _b.Expiration;
|
|
11
|
+
const getCredentialsForIdentityDeserializer = async (response) => {
|
|
12
|
+
if (response.statusCode >= 300) {
|
|
13
|
+
const error = await parseJsonError(response);
|
|
14
|
+
throw error;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const body = await parseJsonBody(response);
|
|
18
|
+
return {
|
|
19
|
+
IdentityId: body.IdentityId,
|
|
20
|
+
Credentials: deserializeCredentials(body.Credentials),
|
|
21
|
+
$metadata: parseMetadata(response),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const deserializeCredentials = ({ AccessKeyId, SecretKey, SessionToken, Expiration, } = {}) => {
|
|
70
26
|
return {
|
|
71
|
-
AccessKeyId
|
|
72
|
-
SecretKey
|
|
73
|
-
SessionToken
|
|
27
|
+
AccessKeyId,
|
|
28
|
+
SecretKey,
|
|
29
|
+
SessionToken,
|
|
74
30
|
Expiration: Expiration && new Date(Expiration * 1000),
|
|
75
31
|
};
|
|
76
32
|
};
|
|
77
33
|
/**
|
|
78
34
|
* @internal
|
|
79
35
|
*/
|
|
80
|
-
export
|
|
36
|
+
export const getCredentialsForIdentity = composeServiceApi(cognitoIdentityTransferHandler, getCredentialsForIdentitySerializer, getCredentialsForIdentityDeserializer, defaultConfig);
|