@aws-amplify/core 6.0.16 → 6.0.17-unstable.3d2803e.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/dist/cjs/BackgroundProcessManager/BackgroundProcessManager.js +11 -16
- package/dist/cjs/BackgroundProcessManager/BackgroundProcessManager.js.map +1 -1
- package/dist/cjs/Cache/StorageCacheCommon.js +5 -5
- package/dist/cjs/Cache/StorageCacheCommon.js.map +1 -1
- package/dist/cjs/Cache/utils/CacheList.js +2 -2
- package/dist/cjs/Cache/utils/CacheList.js.map +1 -1
- package/dist/cjs/Hub/index.js +2 -2
- package/dist/cjs/Hub/index.js.map +1 -1
- package/dist/cjs/I18n/I18n.js +8 -13
- package/dist/cjs/I18n/I18n.js.map +1 -1
- package/dist/cjs/I18n/index.js +4 -4
- package/dist/cjs/I18n/index.js.map +1 -1
- package/dist/cjs/Logger/ConsoleLogger.js +8 -7
- package/dist/cjs/Logger/ConsoleLogger.js.map +1 -1
- package/dist/cjs/Logger/types.js +1 -0
- package/dist/cjs/Logger/types.js.map +1 -1
- package/dist/cjs/Mutex/Mutex.js +4 -1
- package/dist/cjs/Mutex/Mutex.js.map +1 -1
- package/dist/cjs/Platform/detectFramework.js +3 -1
- package/dist/cjs/Platform/detectFramework.js.map +1 -1
- package/dist/cjs/Platform/detection/Angular.js +2 -4
- package/dist/cjs/Platform/detection/Angular.js.map +1 -1
- package/dist/cjs/Platform/detection/Expo.js +1 -2
- package/dist/cjs/Platform/detection/Expo.js.map +1 -1
- package/dist/cjs/Platform/detection/Next.js +3 -2
- package/dist/cjs/Platform/detection/Next.js.map +1 -1
- package/dist/cjs/Platform/detection/Nuxt.js +3 -4
- package/dist/cjs/Platform/detection/Nuxt.js.map +1 -1
- package/dist/cjs/Platform/index.js +1 -1
- package/dist/cjs/Platform/index.js.map +1 -1
- package/dist/cjs/Platform/version.js +1 -1
- package/dist/cjs/Platform/version.js.map +1 -1
- package/dist/cjs/Reachability/Reachability.js +6 -2
- package/dist/cjs/Reachability/Reachability.js.map +1 -1
- package/dist/cjs/ServiceWorker/ServiceWorker.js +11 -11
- package/dist/cjs/ServiceWorker/ServiceWorker.js.map +1 -1
- package/dist/cjs/Signer/DateUtils.js +1 -1
- package/dist/cjs/Signer/DateUtils.js.map +1 -1
- package/dist/cjs/Signer/Signer.js +3 -3
- package/dist/cjs/Signer/Signer.js.map +1 -1
- package/dist/cjs/adapterCore/serverContext/serverContext.js +1 -1
- package/dist/cjs/adapterCore/serverContext/serverContext.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/base.js +2 -2
- package/dist/cjs/awsClients/cognitoIdentity/base.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getCredentialsForIdentity.js +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getCredentialsForIdentity.js.map +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getId.js +1 -1
- package/dist/cjs/awsClients/cognitoIdentity/getId.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/getInAppMessages.js +1 -1
- package/dist/cjs/awsClients/pinpoint/getInAppMessages.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/putEvents.js +1 -1
- package/dist/cjs/awsClients/pinpoint/putEvents.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/types.js +0 -1
- package/dist/cjs/awsClients/pinpoint/types.js.map +1 -1
- package/dist/cjs/awsClients/pinpoint/updateEndpoint.js +1 -1
- package/dist/cjs/awsClients/pinpoint/updateEndpoint.js.map +1 -1
- package/dist/cjs/clients/handlers/authenticated.js +3 -3
- package/dist/cjs/clients/handlers/authenticated.js.map +1 -1
- package/dist/cjs/clients/handlers/unauthenticated.js +1 -1
- package/dist/cjs/clients/handlers/unauthenticated.js.map +1 -1
- package/dist/cjs/clients/index.js +4 -4
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/internal/composeServiceApi.js +1 -1
- package/dist/cjs/clients/internal/composeServiceApi.js.map +1 -1
- package/dist/cjs/clients/internal/composeTransferHandler.js +1 -1
- package/dist/cjs/clients/internal/composeTransferHandler.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/defaultRetryDecider.js +2 -2
- package/dist/cjs/clients/middleware/retry/defaultRetryDecider.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/index.js +2 -2
- package/dist/cjs/clients/middleware/retry/index.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js +1 -1
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/middleware.js +6 -6
- package/dist/cjs/clients/middleware/retry/middleware.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/index.js +2 -2
- package/dist/cjs/clients/middleware/signing/index.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/middleware.js +3 -3
- package/dist/cjs/clients/middleware/signing/middleware.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/presignUrl.js +1 -2
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/presignUrl.js.map +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +1 -1
- package/dist/cjs/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js.map +1 -1
- package/dist/cjs/clients/middleware/userAgent/index.js +2 -2
- package/dist/cjs/clients/middleware/userAgent/index.js.map +1 -1
- package/dist/cjs/clients/middleware/userAgent/middleware.js +3 -3
- package/dist/cjs/clients/middleware/userAgent/middleware.js.map +1 -1
- package/dist/cjs/clients/serde/json.js +1 -1
- package/dist/cjs/clients/serde/json.js.map +1 -1
- package/dist/cjs/errors/errorHelpers.js +1 -1
- package/dist/cjs/errors/errorHelpers.js.map +1 -1
- package/dist/cjs/parseAWSExports.js +1 -1
- package/dist/cjs/parseAWSExports.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/updateEndpoint.js +1 -1
- package/dist/cjs/providers/pinpoint/apis/updateEndpoint.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/PinpointEventBuffer.js +2 -3
- package/dist/cjs/providers/pinpoint/utils/PinpointEventBuffer.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/isAppInForeground.native.js +0 -1
- package/dist/cjs/providers/pinpoint/utils/isAppInForeground.native.js.map +1 -1
- package/dist/cjs/singleton/Amplify.js +1 -1
- package/dist/cjs/singleton/Amplify.js.map +1 -1
- package/dist/cjs/singleton/Auth/index.js +2 -6
- package/dist/cjs/singleton/Auth/index.js.map +1 -1
- package/dist/cjs/singleton/Auth/utils/index.js +4 -4
- package/dist/cjs/singleton/Auth/utils/index.js.map +1 -1
- package/dist/cjs/singleton/apis/fetchAuthSession.js +1 -1
- package/dist/cjs/singleton/apis/fetchAuthSession.js.map +1 -1
- package/dist/cjs/storage/CookieStorage.js +8 -4
- package/dist/cjs/storage/CookieStorage.js.map +1 -1
- package/dist/cjs/storage/CookieStorage.native.js +0 -3
- package/dist/cjs/storage/CookieStorage.native.js.map +1 -1
- package/dist/cjs/utils/WordArray.js +2 -2
- package/dist/cjs/utils/WordArray.js.map +1 -1
- package/dist/cjs/utils/deDupeAsyncFunction.js +8 -8
- package/dist/cjs/utils/deDupeAsyncFunction.js.map +1 -1
- package/dist/cjs/utils/getClientInfo/getClientInfo.android.js +2 -3
- package/dist/cjs/utils/getClientInfo/getClientInfo.android.js.map +1 -1
- package/dist/cjs/utils/getClientInfo/getClientInfo.ios.js +2 -3
- package/dist/cjs/utils/getClientInfo/getClientInfo.ios.js.map +1 -1
- package/dist/cjs/utils/queuedStorage/createQueuedStorage.native.js +2 -2
- package/dist/cjs/utils/queuedStorage/createQueuedStorage.native.js.map +1 -1
- package/dist/cjs/utils/retry/NonRetryableError.js +2 -2
- package/dist/cjs/utils/retry/NonRetryableError.js.map +1 -1
- package/dist/cjs/utils/retry/retry.js +15 -6
- package/dist/cjs/utils/retry/retry.js.map +1 -1
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.d.ts +2 -8
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.mjs +11 -16
- package/dist/esm/BackgroundProcessManager/BackgroundProcessManager.mjs.map +1 -1
- package/dist/esm/BackgroundProcessManager/types.d.ts +3 -3
- package/dist/esm/Cache/StorageCacheCommon.mjs +5 -5
- package/dist/esm/Cache/StorageCacheCommon.mjs.map +1 -1
- package/dist/esm/Cache/types/cache.d.ts +1 -1
- package/dist/esm/Cache/utils/CacheList.mjs +2 -2
- package/dist/esm/Cache/utils/CacheList.mjs.map +1 -1
- package/dist/esm/Hub/index.d.ts +4 -4
- package/dist/esm/Hub/index.mjs +2 -2
- package/dist/esm/Hub/index.mjs.map +1 -1
- package/dist/esm/Hub/types/AuthTypes.d.ts +11 -11
- package/dist/esm/Hub/types/HubTypes.d.ts +8 -8
- package/dist/esm/I18n/I18n.d.ts +0 -6
- package/dist/esm/I18n/I18n.mjs +8 -13
- package/dist/esm/I18n/I18n.mjs.map +1 -1
- package/dist/esm/I18n/index.mjs +4 -4
- package/dist/esm/I18n/index.mjs.map +1 -1
- package/dist/esm/Logger/ConsoleLogger.d.ts +1 -1
- package/dist/esm/Logger/ConsoleLogger.mjs +8 -7
- package/dist/esm/Logger/ConsoleLogger.mjs.map +1 -1
- package/dist/esm/Logger/types.d.ts +2 -1
- package/dist/esm/Logger/types.mjs +1 -0
- package/dist/esm/Logger/types.mjs.map +1 -1
- package/dist/esm/Mutex/Mutex.mjs +4 -1
- package/dist/esm/Mutex/Mutex.mjs.map +1 -1
- package/dist/esm/Mutex/types.d.ts +2 -6
- package/dist/esm/Platform/detectFramework.mjs +3 -1
- package/dist/esm/Platform/detectFramework.mjs.map +1 -1
- package/dist/esm/Platform/detection/Angular.mjs +2 -4
- package/dist/esm/Platform/detection/Angular.mjs.map +1 -1
- package/dist/esm/Platform/detection/Expo.mjs +1 -2
- package/dist/esm/Platform/detection/Expo.mjs.map +1 -1
- package/dist/esm/Platform/detection/Next.mjs +3 -2
- package/dist/esm/Platform/detection/Next.mjs.map +1 -1
- package/dist/esm/Platform/detection/Nuxt.mjs +3 -4
- package/dist/esm/Platform/detection/Nuxt.mjs.map +1 -1
- package/dist/esm/Platform/detection/index.mjs.map +1 -1
- package/dist/esm/Platform/index.d.ts +2 -2
- package/dist/esm/Platform/index.mjs +1 -1
- package/dist/esm/Platform/index.mjs.map +1 -1
- package/dist/esm/Platform/types.d.ts +12 -12
- package/dist/esm/Platform/version.d.ts +1 -1
- package/dist/esm/Platform/version.mjs +1 -1
- package/dist/esm/Platform/version.mjs.map +1 -1
- package/dist/esm/Reachability/Reachability.mjs +6 -2
- package/dist/esm/Reachability/Reachability.mjs.map +1 -1
- package/dist/esm/Reachability/types.d.ts +2 -2
- package/dist/esm/ServiceWorker/ServiceWorker.d.ts +0 -1
- package/dist/esm/ServiceWorker/ServiceWorker.mjs +11 -11
- package/dist/esm/ServiceWorker/ServiceWorker.mjs.map +1 -1
- package/dist/esm/Signer/DateUtils.d.ts +9 -9
- package/dist/esm/Signer/DateUtils.mjs +1 -1
- package/dist/esm/Signer/DateUtils.mjs.map +1 -1
- package/dist/esm/Signer/Signer.mjs +3 -3
- package/dist/esm/Signer/Signer.mjs.map +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.d.ts +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.mjs +1 -1
- package/dist/esm/adapterCore/serverContext/serverContext.mjs.map +1 -1
- package/dist/esm/adapterCore/serverContext/types/amplifyServer.d.ts +7 -9
- package/dist/esm/awsClients/cognitoIdentity/base.d.ts +1 -1
- package/dist/esm/awsClients/cognitoIdentity/base.mjs +2 -2
- package/dist/esm/awsClients/cognitoIdentity/base.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.d.ts +2 -6
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getId.d.ts +2 -6
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/types.d.ts +2 -4
- package/dist/esm/awsClients/pinpoint/base.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/types.d.ts +3 -6
- package/dist/esm/awsClients/pinpoint/updateEndpoint.d.ts +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs.map +1 -1
- package/dist/esm/clients/handlers/authenticated.mjs +6 -6
- package/dist/esm/clients/handlers/authenticated.mjs.map +1 -1
- package/dist/esm/clients/handlers/unauthenticated.mjs +3 -3
- package/dist/esm/clients/handlers/unauthenticated.mjs.map +1 -1
- package/dist/esm/clients/index.d.ts +3 -3
- package/dist/esm/clients/index.mjs +3 -3
- package/dist/esm/clients/internal/composeServiceApi.d.ts +2 -2
- package/dist/esm/clients/internal/composeServiceApi.mjs +1 -1
- package/dist/esm/clients/internal/composeServiceApi.mjs.map +1 -1
- package/dist/esm/clients/internal/composeTransferHandler.d.ts +2 -2
- package/dist/esm/clients/internal/composeTransferHandler.mjs +1 -1
- package/dist/esm/clients/internal/composeTransferHandler.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.d.ts +1 -1
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs +2 -2
- package/dist/esm/clients/middleware/retry/defaultRetryDecider.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/index.d.ts +1 -1
- package/dist/esm/clients/middleware/retry/index.mjs +1 -1
- package/dist/esm/clients/middleware/retry/jitteredBackoff.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/middleware.d.ts +3 -3
- package/dist/esm/clients/middleware/retry/middleware.mjs +5 -5
- package/dist/esm/clients/middleware/retry/middleware.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/index.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/index.mjs +1 -1
- package/dist/esm/clients/middleware/signing/middleware.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/middleware.mjs +2 -2
- package/dist/esm/clients/middleware/signing/middleware.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.d.ts +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.mjs +1 -2
- package/dist/esm/clients/middleware/signing/signer/signatureV4/presignUrl.mjs.map +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.mjs +1 -1
- package/dist/esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.mjs.map +1 -1
- package/dist/esm/clients/middleware/userAgent/index.d.ts +1 -1
- package/dist/esm/clients/middleware/userAgent/index.mjs +1 -1
- package/dist/esm/clients/middleware/userAgent/middleware.d.ts +1 -1
- package/dist/esm/clients/middleware/userAgent/middleware.mjs +2 -2
- package/dist/esm/clients/middleware/userAgent/middleware.mjs.map +1 -1
- package/dist/esm/clients/serde/json.mjs +1 -1
- package/dist/esm/clients/serde/json.mjs.map +1 -1
- package/dist/esm/clients/types/aws.d.ts +3 -3
- package/dist/esm/clients/types/core.d.ts +3 -5
- package/dist/esm/errors/APIError.d.ts +1 -1
- package/dist/esm/errors/errorHelpers.mjs +1 -1
- package/dist/esm/errors/errorHelpers.mjs.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/libraryUtils.d.ts +1 -1
- package/dist/esm/parseAWSExports.mjs +1 -1
- package/dist/esm/parseAWSExports.mjs.map +1 -1
- package/dist/esm/providers/kinesis/types/kinesis.d.ts +2 -2
- package/dist/esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +2 -2
- package/dist/esm/providers/personalize/types/personalize.d.ts +2 -2
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs +1 -1
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/types/buffer.d.ts +6 -8
- package/dist/esm/providers/pinpoint/types/pinpoint.d.ts +10 -10
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.d.ts +1 -1
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs +2 -3
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/utils/getEventBuffer.d.ts +1 -1
- package/dist/esm/providers/pinpoint/utils/isAppInForeground.native.mjs +0 -1
- package/dist/esm/providers/pinpoint/utils/isAppInForeground.native.mjs.map +1 -1
- package/dist/esm/singleton/API/types.d.ts +35 -37
- package/dist/esm/singleton/Amplify.d.ts +1 -1
- package/dist/esm/singleton/Amplify.mjs +1 -1
- package/dist/esm/singleton/Amplify.mjs.map +1 -1
- package/dist/esm/singleton/Auth/index.d.ts +0 -1
- package/dist/esm/singleton/Auth/index.mjs +2 -6
- package/dist/esm/singleton/Auth/index.mjs.map +1 -1
- package/dist/esm/singleton/Auth/types.d.ts +53 -52
- package/dist/esm/singleton/Auth/utils/index.d.ts +1 -1
- package/dist/esm/singleton/Auth/utils/index.mjs +4 -4
- package/dist/esm/singleton/Auth/utils/index.mjs.map +1 -1
- package/dist/esm/singleton/Geo/types.d.ts +3 -3
- package/dist/esm/singleton/Interactions/types.d.ts +4 -4
- package/dist/esm/singleton/Notifications/types.d.ts +5 -5
- package/dist/esm/singleton/Predictions/types.d.ts +28 -28
- package/dist/esm/singleton/Storage/types.d.ts +2 -2
- package/dist/esm/singleton/apis/fetchAuthSession.mjs +1 -1
- package/dist/esm/singleton/apis/fetchAuthSession.mjs.map +1 -1
- package/dist/esm/singleton/types.d.ts +8 -8
- package/dist/esm/storage/CookieStorage.mjs +8 -4
- package/dist/esm/storage/CookieStorage.mjs.map +1 -1
- package/dist/esm/storage/CookieStorage.native.d.ts +0 -1
- package/dist/esm/storage/CookieStorage.native.mjs +0 -3
- package/dist/esm/storage/CookieStorage.native.mjs.map +1 -1
- package/dist/esm/types/core.d.ts +2 -2
- package/dist/esm/types/errors.d.ts +4 -4
- package/dist/esm/types/storage.d.ts +2 -2
- package/dist/esm/utils/WordArray.mjs +2 -2
- package/dist/esm/utils/WordArray.mjs.map +1 -1
- package/dist/esm/utils/deDupeAsyncFunction.d.ts +1 -5
- package/dist/esm/utils/deDupeAsyncFunction.mjs +8 -8
- package/dist/esm/utils/deDupeAsyncFunction.mjs.map +1 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.android.mjs +0 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.android.mjs.map +1 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.ios.mjs +0 -1
- package/dist/esm/utils/getClientInfo/getClientInfo.ios.mjs.map +1 -1
- package/dist/esm/utils/globalHelpers/index.native.mjs.map +1 -1
- package/dist/esm/utils/queuedStorage/createQueuedStorage.native.mjs +2 -2
- package/dist/esm/utils/queuedStorage/createQueuedStorage.native.mjs.map +1 -1
- package/dist/esm/utils/retry/NonRetryableError.d.ts +0 -1
- package/dist/esm/utils/retry/NonRetryableError.mjs +2 -2
- package/dist/esm/utils/retry/NonRetryableError.mjs.map +1 -1
- package/dist/esm/utils/retry/retry.mjs +15 -6
- package/dist/esm/utils/retry/retry.mjs.map +1 -1
- package/dist/esm/utils/sessionListener/SessionListener.d.ts +1 -1
- package/dist/esm/utils/sessionListener/SessionListener.native.d.ts +1 -1
- package/dist/esm/utils/sessionListener/types.d.ts +2 -2
- package/package.json +5 -4
- package/src/BackgroundProcessManager/BackgroundProcessManager.ts +29 -34
- package/src/BackgroundProcessManager/types.ts +3 -3
- package/src/Cache/StorageCache.native.ts +5 -0
- package/src/Cache/StorageCache.ts +2 -0
- package/src/Cache/StorageCacheCommon.ts +49 -29
- package/src/Cache/types/cache.ts +2 -1
- package/src/Cache/utils/CacheList.ts +6 -3
- package/src/Cache/utils/cacheHelpers.ts +2 -1
- package/src/Hub/index.ts +15 -15
- package/src/Hub/types/AuthTypes.ts +11 -11
- package/src/Hub/types/HubTypes.ts +11 -8
- package/src/I18n/I18n.ts +10 -16
- package/src/I18n/index.ts +7 -7
- package/src/Logger/ConsoleLogger.ts +12 -9
- package/src/Logger/types.ts +1 -0
- package/src/Mutex/Mutex.ts +8 -4
- package/src/Mutex/types.ts +3 -7
- package/src/Platform/customUserAgent.ts +3 -3
- package/src/Platform/detectFramework.ts +4 -1
- package/src/Platform/detection/Angular.ts +4 -4
- package/src/Platform/detection/Expo.ts +1 -2
- package/src/Platform/detection/Next.ts +5 -2
- package/src/Platform/detection/Nuxt.ts +5 -4
- package/src/Platform/detection/index.ts +9 -9
- package/src/Platform/index.ts +4 -4
- package/src/Platform/types.ts +12 -12
- package/src/Platform/version.ts +1 -1
- package/src/Reachability/Reachability.native.ts +6 -3
- package/src/Reachability/Reachability.ts +12 -6
- package/src/Reachability/types.ts +2 -2
- package/src/ServiceWorker/ServiceWorker.ts +28 -23
- package/src/Signer/DateUtils.ts +16 -16
- package/src/Signer/Signer.ts +19 -13
- package/src/adapterCore/serverContext/serverContext.ts +6 -5
- package/src/adapterCore/serverContext/serverContextRegistry.ts +2 -1
- package/src/adapterCore/serverContext/types/amplifyServer.ts +15 -17
- package/src/adapterCore/serverContext/types/cookieStorage.ts +1 -1
- package/src/awsClients/cognitoIdentity/base.ts +16 -12
- package/src/awsClients/cognitoIdentity/getCredentialsForIdentity.ts +13 -10
- package/src/awsClients/cognitoIdentity/getId.ts +12 -9
- package/src/awsClients/cognitoIdentity/types.ts +3 -3
- package/src/awsClients/pinpoint/base.ts +1 -1
- package/src/awsClients/pinpoint/getInAppMessages.ts +8 -5
- package/src/awsClients/pinpoint/putEvents.ts +8 -5
- package/src/awsClients/pinpoint/types.ts +3 -4
- package/src/awsClients/pinpoint/updateEndpoint.ts +8 -5
- package/src/clients/endpoints/getDnsSuffix.ts +1 -0
- package/src/clients/handlers/authenticated.ts +14 -7
- package/src/clients/handlers/fetch.ts +1 -1
- package/src/clients/handlers/unauthenticated.ts +8 -4
- package/src/clients/index.ts +6 -3
- package/src/clients/internal/composeServiceApi.ts +8 -7
- package/src/clients/internal/composeTransferHandler.ts +7 -6
- package/src/clients/middleware/retry/defaultRetryDecider.ts +5 -3
- package/src/clients/middleware/retry/index.ts +1 -1
- package/src/clients/middleware/retry/jitteredBackoff.ts +3 -1
- package/src/clients/middleware/retry/middleware.ts +12 -9
- package/src/clients/middleware/signing/index.ts +1 -1
- package/src/clients/middleware/signing/middleware.ts +5 -2
- package/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts +4 -4
- package/src/clients/middleware/signing/signer/signatureV4/signRequest.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts +4 -2
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts +1 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts +1 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts +2 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts +3 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts +4 -3
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts +3 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts +3 -1
- package/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts +2 -2
- package/src/clients/middleware/signing/utils/getUpdatedSystemClockOffset.ts +2 -1
- package/src/clients/middleware/signing/utils/isClockSkewed.ts +2 -2
- package/src/clients/middleware/userAgent/index.ts +1 -1
- package/src/clients/middleware/userAgent/middleware.ts +3 -1
- package/src/clients/serde/json.ts +6 -2
- package/src/clients/serde/responseInfo.ts +6 -2
- package/src/clients/types/aws.ts +6 -3
- package/src/clients/types/core.ts +6 -8
- package/src/clients/types/http.ts +2 -1
- package/src/clients/utils/memoization.ts +2 -0
- package/src/errors/APIError.ts +3 -2
- package/src/errors/PlatformNotSupportedError.ts +1 -0
- package/src/errors/createAssertionFunction.ts +2 -1
- package/src/errors/errorHelpers.ts +2 -1
- package/src/index.ts +0 -1
- package/src/libraryUtils.ts +1 -0
- package/src/parseAWSExports.ts +12 -11
- package/src/providers/kinesis/types/kinesis.ts +2 -2
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +2 -2
- package/src/providers/personalize/types/personalize.ts +2 -2
- package/src/providers/pinpoint/apis/updateEndpoint.ts +2 -2
- package/src/providers/pinpoint/types/buffer.ts +7 -8
- package/src/providers/pinpoint/types/pinpoint.ts +11 -10
- package/src/providers/pinpoint/utils/PinpointEventBuffer.ts +11 -21
- package/src/providers/pinpoint/utils/cacheEndpointId.ts +3 -1
- package/src/providers/pinpoint/utils/getCacheKey.ts +1 -1
- package/src/providers/pinpoint/utils/getEndpointId.ts +3 -1
- package/src/providers/pinpoint/utils/getEventBuffer.ts +2 -1
- package/src/providers/pinpoint/utils/isAppInForeground.native.ts +0 -1
- package/src/providers/pinpoint/utils/resolveEndpointId.ts +1 -0
- package/src/singleton/API/types.ts +35 -33
- package/src/singleton/Amplify.ts +8 -6
- package/src/singleton/Auth/index.ts +9 -13
- package/src/singleton/Auth/types.ts +59 -51
- package/src/singleton/Auth/utils/index.ts +16 -28
- package/src/singleton/Geo/types.ts +3 -3
- package/src/singleton/Interactions/types.ts +4 -4
- package/src/singleton/Notifications/types.ts +6 -5
- package/src/singleton/Predictions/types.ts +28 -28
- package/src/singleton/Storage/types.ts +2 -2
- package/src/singleton/apis/fetchAuthSession.ts +2 -1
- package/src/singleton/apis/internal/fetchAuthSession.ts +1 -1
- package/src/singleton/apis/server/fetchAuthSession.ts +2 -2
- package/src/singleton/types.ts +10 -10
- package/src/storage/CookieStorage.native.ts +1 -5
- package/src/storage/CookieStorage.ts +12 -6
- package/src/storage/DefaultStorage.native.ts +3 -1
- package/src/storage/InMemoryStorage.ts +1 -0
- package/src/storage/KeyValueStorage.ts +1 -0
- package/src/types/core.ts +3 -3
- package/src/types/errors.ts +5 -5
- package/src/types/storage.ts +2 -2
- package/src/utils/WordArray.ts +2 -2
- package/src/utils/convert/base64/base64Encoder.ts +1 -0
- package/src/utils/convert/types.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +1 -0
- package/src/utils/deDupeAsyncFunction.ts +15 -20
- package/src/utils/generateRandomString.ts +1 -1
- package/src/utils/getClientInfo/getClientInfo.android.ts +3 -2
- package/src/utils/getClientInfo/getClientInfo.ios.ts +4 -2
- package/src/utils/getClientInfo/getClientInfo.ts +3 -3
- package/src/utils/globalHelpers/index.native.ts +2 -1
- package/src/utils/haveCredentialsChanged.ts +5 -2
- package/src/utils/isWebWorker.ts +1 -0
- package/src/utils/queuedStorage/createQueuedStorage.native.ts +8 -5
- package/src/utils/queuedStorage/createQueuedStorage.ts +7 -3
- package/src/utils/queuedStorage/types.ts +1 -1
- package/src/utils/retry/NonRetryableError.ts +0 -3
- package/src/utils/retry/isNonRetryableError.ts +1 -0
- package/src/utils/retry/jitteredBackoff.ts +3 -1
- package/src/utils/retry/jitteredExponentialRetry.ts +1 -1
- package/src/utils/retry/retry.ts +22 -8
- package/src/utils/sessionListener/SessionListener.native.ts +4 -3
- package/src/utils/sessionListener/SessionListener.ts +4 -3
- package/src/utils/sessionListener/index.ts +1 -0
- package/src/utils/sessionListener/types.ts +2 -2
- package/src/utils/urlSafeDecode.ts +1 -0
package/src/Platform/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by genversion
|
|
2
|
-
export const version = '6.0.
|
|
2
|
+
export const version = '6.0.17-unstable.3d2803e.0+3d2803e';
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import { loadNetInfo } from '@aws-amplify/react-native';
|
|
5
|
+
|
|
5
6
|
import { ConsoleLogger } from '../Logger';
|
|
7
|
+
|
|
6
8
|
import { NetworkStatus } from './types';
|
|
7
9
|
|
|
8
10
|
const logger = new ConsoleLogger('Reachability', 'DEBUG');
|
|
9
11
|
|
|
10
12
|
export class Reachability {
|
|
11
13
|
networkMonitor(
|
|
12
|
-
netInfo?: ReturnType<typeof loadNetInfo
|
|
14
|
+
netInfo?: ReturnType<typeof loadNetInfo>,
|
|
13
15
|
): Observable<NetworkStatus> {
|
|
14
16
|
/**
|
|
15
17
|
* Here netinfo refers to @react-native-community/netinfo
|
|
@@ -20,9 +22,10 @@ export class Reachability {
|
|
|
20
22
|
*/
|
|
21
23
|
if (!(netInfo && netInfo.addEventListener)) {
|
|
22
24
|
throw new Error(
|
|
23
|
-
'NetInfo must be passed to networkMonitor to enable reachability in React Native'
|
|
25
|
+
'NetInfo must be passed to networkMonitor to enable reachability in React Native',
|
|
24
26
|
);
|
|
25
27
|
}
|
|
28
|
+
|
|
26
29
|
return new Observable(observer => {
|
|
27
30
|
logger.log('subscribing to reachability in React Native');
|
|
28
31
|
|
|
@@ -35,7 +38,7 @@ export class Reachability {
|
|
|
35
38
|
logger.log('Notifying reachability change', online);
|
|
36
39
|
observer.next({ online });
|
|
37
40
|
}
|
|
38
|
-
}
|
|
41
|
+
},
|
|
39
42
|
);
|
|
40
43
|
|
|
41
44
|
return () => {
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { CompletionObserver, Observable, from } from 'rxjs';
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
import { isWebWorker } from '../utils';
|
|
7
7
|
|
|
8
|
+
import { NetworkStatus } from './types';
|
|
9
|
+
|
|
8
10
|
export class Reachability {
|
|
9
|
-
private static _observers:
|
|
11
|
+
private static _observers: CompletionObserver<NetworkStatus>[] = [];
|
|
10
12
|
|
|
11
13
|
networkMonitor(_?: unknown): Observable<NetworkStatus> {
|
|
12
14
|
const globalObj = isWebWorker()
|
|
@@ -20,8 +22,12 @@ export class Reachability {
|
|
|
20
22
|
return new Observable(observer => {
|
|
21
23
|
observer.next({ online: globalObj.navigator.onLine });
|
|
22
24
|
|
|
23
|
-
const notifyOnline = () =>
|
|
24
|
-
|
|
25
|
+
const notifyOnline = () => {
|
|
26
|
+
observer.next({ online: true });
|
|
27
|
+
};
|
|
28
|
+
const notifyOffline = () => {
|
|
29
|
+
observer.next({ online: false });
|
|
30
|
+
};
|
|
25
31
|
|
|
26
32
|
globalObj.addEventListener('online', notifyOnline);
|
|
27
33
|
globalObj.addEventListener('offline', notifyOffline);
|
|
@@ -33,7 +39,7 @@ export class Reachability {
|
|
|
33
39
|
globalObj.removeEventListener('offline', notifyOffline);
|
|
34
40
|
|
|
35
41
|
Reachability._observers = Reachability._observers.filter(
|
|
36
|
-
_observer => _observer !== observer
|
|
42
|
+
_observer => _observer !== observer,
|
|
37
43
|
);
|
|
38
44
|
};
|
|
39
45
|
});
|
|
@@ -44,7 +50,7 @@ export class Reachability {
|
|
|
44
50
|
for (const observer of this._observers) {
|
|
45
51
|
if (observer.closed) {
|
|
46
52
|
this._observers = this._observers.filter(
|
|
47
|
-
_observer => _observer !== observer
|
|
53
|
+
_observer => _observer !== observer,
|
|
48
54
|
);
|
|
49
55
|
continue;
|
|
50
56
|
}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
import { ConsoleLogger } from '../Logger';
|
|
5
5
|
import { isBrowser } from '../utils';
|
|
6
6
|
import { AmplifyError } from '../errors';
|
|
7
|
-
import { assert, ServiceWorkerErrorCode } from './errorHelpers';
|
|
8
7
|
import { record } from '../providers/pinpoint';
|
|
9
8
|
import { Amplify, fetchAuthSession } from '../singleton';
|
|
10
9
|
|
|
10
|
+
import { ServiceWorkerErrorCode, assert } from './errorHelpers';
|
|
11
|
+
|
|
11
12
|
/**
|
|
12
13
|
* Provides a means to registering a service worker in the browser
|
|
13
14
|
* and communicating with it via postMessage events.
|
|
@@ -37,15 +38,13 @@ export class ServiceWorkerClass {
|
|
|
37
38
|
// The AWS Amplify logger
|
|
38
39
|
private _logger: ConsoleLogger = new ConsoleLogger('ServiceWorker');
|
|
39
40
|
|
|
40
|
-
constructor() {}
|
|
41
|
-
|
|
42
41
|
/**
|
|
43
42
|
* Get the currently active service worker
|
|
44
43
|
*/
|
|
45
44
|
get serviceWorker(): ServiceWorker {
|
|
46
45
|
assert(
|
|
47
46
|
this._serviceWorker !== undefined,
|
|
48
|
-
ServiceWorkerErrorCode.UndefinedInstance
|
|
47
|
+
ServiceWorkerErrorCode.UndefinedInstance,
|
|
49
48
|
);
|
|
50
49
|
|
|
51
50
|
return this._serviceWorker;
|
|
@@ -63,9 +62,10 @@ export class ServiceWorkerClass {
|
|
|
63
62
|
* - resolve(ServiceWorkerRegistration)
|
|
64
63
|
* - reject(Error)
|
|
65
64
|
**/
|
|
66
|
-
register(filePath
|
|
65
|
+
register(filePath = '/service-worker.js', scope = '/') {
|
|
67
66
|
this._logger.debug(`registering ${filePath}`);
|
|
68
67
|
this._logger.debug(`registering service worker with scope ${scope}`);
|
|
68
|
+
|
|
69
69
|
return new Promise((resolve, reject) => {
|
|
70
70
|
if (navigator && 'serviceWorker' in navigator) {
|
|
71
71
|
navigator.serviceWorker
|
|
@@ -83,26 +83,28 @@ export class ServiceWorkerClass {
|
|
|
83
83
|
this._registration = registration;
|
|
84
84
|
this._setupListeners();
|
|
85
85
|
this._logger.debug(
|
|
86
|
-
`Service Worker Registration Success: ${registration}
|
|
86
|
+
`Service Worker Registration Success: ${registration}`,
|
|
87
87
|
);
|
|
88
|
-
|
|
88
|
+
|
|
89
|
+
resolve(registration);
|
|
89
90
|
})
|
|
90
91
|
.catch(error => {
|
|
91
92
|
this._logger.debug(`Service Worker Registration Failed ${error}`);
|
|
92
|
-
|
|
93
|
+
|
|
94
|
+
reject(
|
|
93
95
|
new AmplifyError({
|
|
94
96
|
name: ServiceWorkerErrorCode.Unavailable,
|
|
95
97
|
message: 'Service Worker not available',
|
|
96
98
|
underlyingError: error,
|
|
97
|
-
})
|
|
99
|
+
}),
|
|
98
100
|
);
|
|
99
101
|
});
|
|
100
102
|
} else {
|
|
101
|
-
|
|
103
|
+
reject(
|
|
102
104
|
new AmplifyError({
|
|
103
105
|
name: ServiceWorkerErrorCode.Unavailable,
|
|
104
106
|
message: 'Service Worker not available',
|
|
105
|
-
})
|
|
107
|
+
}),
|
|
106
108
|
);
|
|
107
109
|
}
|
|
108
110
|
});
|
|
@@ -122,34 +124,36 @@ export class ServiceWorkerClass {
|
|
|
122
124
|
enablePush(publicKey: string) {
|
|
123
125
|
assert(
|
|
124
126
|
this._registration !== undefined,
|
|
125
|
-
ServiceWorkerErrorCode.UndefinedRegistration
|
|
127
|
+
ServiceWorkerErrorCode.UndefinedRegistration,
|
|
126
128
|
);
|
|
127
129
|
this._publicKey = publicKey;
|
|
130
|
+
|
|
128
131
|
return new Promise((resolve, reject) => {
|
|
129
132
|
if (isBrowser()) {
|
|
130
133
|
assert(
|
|
131
134
|
this._registration !== undefined,
|
|
132
|
-
ServiceWorkerErrorCode.UndefinedRegistration
|
|
135
|
+
ServiceWorkerErrorCode.UndefinedRegistration,
|
|
133
136
|
);
|
|
134
137
|
this._registration.pushManager.getSubscription().then(subscription => {
|
|
135
138
|
if (subscription) {
|
|
136
139
|
this._subscription = subscription;
|
|
137
140
|
this._logger.debug(
|
|
138
|
-
`User is subscribed to push: ${JSON.stringify(subscription)}
|
|
141
|
+
`User is subscribed to push: ${JSON.stringify(subscription)}`,
|
|
139
142
|
);
|
|
140
143
|
resolve(subscription);
|
|
141
144
|
} else {
|
|
142
145
|
this._logger.debug(`User is NOT subscribed to push`);
|
|
146
|
+
|
|
143
147
|
return this._registration!.pushManager.subscribe({
|
|
144
148
|
userVisibleOnly: true,
|
|
145
149
|
applicationServerKey: this._urlB64ToUint8Array(publicKey),
|
|
146
150
|
})
|
|
147
|
-
.then(
|
|
148
|
-
this._subscription =
|
|
151
|
+
.then(pushManagerSubscription => {
|
|
152
|
+
this._subscription = pushManagerSubscription;
|
|
149
153
|
this._logger.debug(
|
|
150
|
-
`User subscribed: ${JSON.stringify(
|
|
154
|
+
`User subscribed: ${JSON.stringify(pushManagerSubscription)}`,
|
|
151
155
|
);
|
|
152
|
-
resolve(
|
|
156
|
+
resolve(pushManagerSubscription);
|
|
153
157
|
})
|
|
154
158
|
.catch(error => {
|
|
155
159
|
this._logger.error(error);
|
|
@@ -157,11 +161,11 @@ export class ServiceWorkerClass {
|
|
|
157
161
|
}
|
|
158
162
|
});
|
|
159
163
|
} else {
|
|
160
|
-
|
|
164
|
+
reject(
|
|
161
165
|
new AmplifyError({
|
|
162
166
|
name: ServiceWorkerErrorCode.Unavailable,
|
|
163
167
|
message: 'Service Worker not available',
|
|
164
|
-
})
|
|
168
|
+
}),
|
|
165
169
|
);
|
|
166
170
|
}
|
|
167
171
|
});
|
|
@@ -174,7 +178,7 @@ export class ServiceWorkerClass {
|
|
|
174
178
|
private _urlB64ToUint8Array(base64String: string) {
|
|
175
179
|
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
|
|
176
180
|
const base64 = (base64String + padding)
|
|
177
|
-
.replace(
|
|
181
|
+
.replace(/-/g, '+')
|
|
178
182
|
.replace(/_/g, '/');
|
|
179
183
|
|
|
180
184
|
const rawData = window.atob(base64);
|
|
@@ -183,6 +187,7 @@ export class ServiceWorkerClass {
|
|
|
183
187
|
for (let i = 0; i < rawData.length; ++i) {
|
|
184
188
|
outputArray[i] = rawData.charCodeAt(i);
|
|
185
189
|
}
|
|
190
|
+
|
|
186
191
|
return outputArray;
|
|
187
192
|
}
|
|
188
193
|
|
|
@@ -197,7 +202,7 @@ export class ServiceWorkerClass {
|
|
|
197
202
|
send(message: object | string) {
|
|
198
203
|
if (this._serviceWorker) {
|
|
199
204
|
this._serviceWorker.postMessage(
|
|
200
|
-
typeof message === 'object' ? JSON.stringify(message) : message
|
|
205
|
+
typeof message === 'object' ? JSON.stringify(message) : message,
|
|
201
206
|
);
|
|
202
207
|
}
|
|
203
208
|
}
|
|
@@ -207,7 +212,7 @@ export class ServiceWorkerClass {
|
|
|
207
212
|
* https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state
|
|
208
213
|
**/
|
|
209
214
|
_setupListeners() {
|
|
210
|
-
this.serviceWorker.addEventListener('statechange', async
|
|
215
|
+
this.serviceWorker.addEventListener('statechange', async () => {
|
|
211
216
|
const currentState = this.serviceWorker.state;
|
|
212
217
|
this._logger.debug(`ServiceWorker statechange: ${currentState}`);
|
|
213
218
|
|
package/src/Signer/DateUtils.ts
CHANGED
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
const FIVE_MINUTES_IN_MS = 1000 * 60 * 5;
|
|
11
|
-
|
|
11
|
+
interface DateUtils {
|
|
12
12
|
clockOffset: number;
|
|
13
|
-
getDateWithClockOffset
|
|
14
|
-
getClockOffset
|
|
15
|
-
getHeaderStringFromDate
|
|
16
|
-
getDateFromHeaderString
|
|
17
|
-
isClockSkewed
|
|
18
|
-
isClockSkewError
|
|
19
|
-
setClockOffset
|
|
20
|
-
}
|
|
13
|
+
getDateWithClockOffset(): Date;
|
|
14
|
+
getClockOffset(): number;
|
|
15
|
+
getHeaderStringFromDate(date: Date): string;
|
|
16
|
+
getDateFromHeaderString(header: string): Date;
|
|
17
|
+
isClockSkewed(serverDate: Date): boolean;
|
|
18
|
+
isClockSkewError(error: any): boolean;
|
|
19
|
+
setClockOffset(offset: number): void;
|
|
20
|
+
}
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* This utility is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
@@ -50,12 +50,12 @@ export const DateUtils: DateUtils = {
|
|
|
50
50
|
},
|
|
51
51
|
|
|
52
52
|
getHeaderStringFromDate(date: Date = DateUtils.getDateWithClockOffset()) {
|
|
53
|
-
return date.toISOString().replace(/[
|
|
53
|
+
return date.toISOString().replace(/[:-]|\.\d{3}/g, '');
|
|
54
54
|
},
|
|
55
55
|
|
|
56
56
|
getDateFromHeaderString(header: string) {
|
|
57
57
|
const [, year, month, day, hour, minute, second] = header.match(
|
|
58
|
-
/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})
|
|
58
|
+
/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2}).+/,
|
|
59
59
|
) as any[];
|
|
60
60
|
|
|
61
61
|
return new Date(
|
|
@@ -65,8 +65,8 @@ export const DateUtils: DateUtils = {
|
|
|
65
65
|
Number(day),
|
|
66
66
|
Number(hour),
|
|
67
67
|
Number(minute),
|
|
68
|
-
Number(second)
|
|
69
|
-
)
|
|
68
|
+
Number(second),
|
|
69
|
+
),
|
|
70
70
|
);
|
|
71
71
|
},
|
|
72
72
|
|
|
@@ -74,7 +74,7 @@ export const DateUtils: DateUtils = {
|
|
|
74
74
|
// API gateway permits client calls that are off by no more than ±5 minutes
|
|
75
75
|
return (
|
|
76
76
|
Math.abs(
|
|
77
|
-
serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()
|
|
77
|
+
serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime(),
|
|
78
78
|
) >= FIVE_MINUTES_IN_MS
|
|
79
79
|
);
|
|
80
80
|
},
|
|
@@ -88,9 +88,9 @@ export const DateUtils: DateUtils = {
|
|
|
88
88
|
|
|
89
89
|
return Boolean(
|
|
90
90
|
['BadRequestException', 'InvalidSignatureException'].includes(
|
|
91
|
-
headers['x-amzn-errortype']
|
|
91
|
+
headers['x-amzn-errortype'],
|
|
92
92
|
) &&
|
|
93
|
-
(headers.date || headers.Date)
|
|
93
|
+
(headers.date || headers.Date),
|
|
94
94
|
);
|
|
95
95
|
},
|
|
96
96
|
|
package/src/Signer/Signer.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { DateUtils } from './DateUtils';
|
|
5
4
|
import {
|
|
5
|
+
TOKEN_QUERY_PARAM,
|
|
6
6
|
presignUrl,
|
|
7
7
|
signRequest,
|
|
8
|
-
TOKEN_QUERY_PARAM,
|
|
9
8
|
} from '../clients/middleware/signing/signer/signatureV4';
|
|
10
9
|
import { AmplifyUrl } from '../utils/amplifyUrl';
|
|
11
10
|
|
|
11
|
+
import { DateUtils } from './DateUtils';
|
|
12
|
+
|
|
12
13
|
const IOT_SERVICE_NAME = 'iotdevicegateway';
|
|
13
14
|
// Best practice regex to parse the service and region from an AWS endpoint
|
|
14
|
-
const AWS_ENDPOINT_REGEX = /([
|
|
15
|
+
const AWS_ENDPOINT_REGEX = /([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(.cn)?$/;
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* This class is intended to be deprecated and replaced by `signRequest` and `presignUrl` functions from
|
|
@@ -72,13 +73,13 @@ export class Signer {
|
|
|
72
73
|
secret_key: string;
|
|
73
74
|
session_token: string;
|
|
74
75
|
},
|
|
75
|
-
serviceInfo: { service: string; region: string }
|
|
76
|
+
serviceInfo: { service: string; region: string },
|
|
76
77
|
) {
|
|
77
78
|
request.headers = request.headers || {};
|
|
78
79
|
|
|
79
80
|
if (request.body && !request.data) {
|
|
80
81
|
throw new Error(
|
|
81
|
-
'The attribute "body" was found on the request object. Please use the attribute "data" instead.'
|
|
82
|
+
'The attribute "body" was found on the request object. Please use the attribute "data" instead.',
|
|
82
83
|
);
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -100,6 +101,7 @@ export class Signer {
|
|
|
100
101
|
signedRequest.headers['x-amz-security-token'];
|
|
101
102
|
delete signedRequest.headers.authorization;
|
|
102
103
|
delete signedRequest.headers['x-amz-security-token'];
|
|
104
|
+
|
|
103
105
|
return signedRequest;
|
|
104
106
|
}
|
|
105
107
|
|
|
@@ -107,19 +109,21 @@ export class Signer {
|
|
|
107
109
|
urlToSign: string,
|
|
108
110
|
accessInfo: any,
|
|
109
111
|
serviceInfo?: any,
|
|
110
|
-
expiration?: number
|
|
112
|
+
expiration?: number,
|
|
111
113
|
): string;
|
|
114
|
+
|
|
112
115
|
static signUrl(
|
|
113
116
|
request: any,
|
|
114
117
|
accessInfo: any,
|
|
115
118
|
serviceInfo?: any,
|
|
116
|
-
expiration?: number
|
|
119
|
+
expiration?: number,
|
|
117
120
|
): string;
|
|
121
|
+
|
|
118
122
|
static signUrl(
|
|
119
123
|
urlOrRequest: string | any,
|
|
120
124
|
accessInfo: any,
|
|
121
125
|
serviceInfo?: any,
|
|
122
|
-
expiration?: number
|
|
126
|
+
expiration?: number,
|
|
123
127
|
): string {
|
|
124
128
|
const urlToSign: string =
|
|
125
129
|
typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;
|
|
@@ -138,7 +142,7 @@ export class Signer {
|
|
|
138
142
|
presignable,
|
|
139
143
|
accessInfo,
|
|
140
144
|
serviceInfo,
|
|
141
|
-
expiration
|
|
145
|
+
expiration,
|
|
142
146
|
);
|
|
143
147
|
const signedUrl = presignUrl(presignable, options);
|
|
144
148
|
if (
|
|
@@ -147,9 +151,10 @@ export class Signer {
|
|
|
147
151
|
) {
|
|
148
152
|
signedUrl.searchParams.append(
|
|
149
153
|
TOKEN_QUERY_PARAM,
|
|
150
|
-
accessInfo.session_token
|
|
154
|
+
accessInfo.session_token,
|
|
151
155
|
);
|
|
152
156
|
}
|
|
157
|
+
|
|
153
158
|
return signedUrl.toString();
|
|
154
159
|
}
|
|
155
160
|
}
|
|
@@ -158,11 +163,11 @@ const getOptions = (
|
|
|
158
163
|
request: { url: URL } & Record<string, any>,
|
|
159
164
|
accessInfo: { access_key: string; secret_key: string; session_token: string },
|
|
160
165
|
serviceInfo: { service: string; region: string },
|
|
161
|
-
expiration?: number
|
|
166
|
+
expiration?: number,
|
|
162
167
|
) => {
|
|
163
168
|
const { access_key, secret_key, session_token } = accessInfo ?? {};
|
|
164
169
|
const { region: urlRegion, service: urlService } = parseServiceInfo(
|
|
165
|
-
request.url
|
|
170
|
+
request.url,
|
|
166
171
|
);
|
|
167
172
|
const { region = urlRegion, service = urlService } = serviceInfo ?? {};
|
|
168
173
|
const credentials = {
|
|
@@ -172,6 +177,7 @@ const getOptions = (
|
|
|
172
177
|
? { sessionToken: session_token }
|
|
173
178
|
: {}),
|
|
174
179
|
};
|
|
180
|
+
|
|
175
181
|
return {
|
|
176
182
|
credentials,
|
|
177
183
|
signingDate: DateUtils.getDateWithClockOffset(),
|
|
@@ -182,7 +188,7 @@ const getOptions = (
|
|
|
182
188
|
};
|
|
183
189
|
|
|
184
190
|
const parseServiceInfo = (url: URL) => {
|
|
185
|
-
const host = url
|
|
191
|
+
const { host } = url;
|
|
186
192
|
const matched = host.match(AWS_ENDPOINT_REGEX) ?? [];
|
|
187
193
|
let parsed = matched.slice(1, 3);
|
|
188
194
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { AmplifyServer } from './types';
|
|
5
|
-
import { serverContextRegistry } from './serverContextRegistry';
|
|
6
4
|
import { AmplifyClass } from '../../singleton';
|
|
7
5
|
import { LibraryOptions, ResourcesConfig } from '../../singleton/types';
|
|
8
6
|
import { AmplifyServerContextError } from '../error';
|
|
9
7
|
|
|
8
|
+
import { serverContextRegistry } from './serverContextRegistry';
|
|
9
|
+
import { AmplifyServer } from './types';
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
12
|
* Creates an Amplify server context.
|
|
12
13
|
* @param amplifyConfig The Amplify resource config.
|
|
@@ -15,7 +16,7 @@ import { AmplifyServerContextError } from '../error';
|
|
|
15
16
|
*/
|
|
16
17
|
export const createAmplifyServerContext = (
|
|
17
18
|
amplifyConfig: ResourcesConfig,
|
|
18
|
-
libraryOptions: LibraryOptions
|
|
19
|
+
libraryOptions: LibraryOptions,
|
|
19
20
|
): AmplifyServer.ContextSpec => {
|
|
20
21
|
const amplify = new AmplifyClass();
|
|
21
22
|
amplify.configure(amplifyConfig, libraryOptions);
|
|
@@ -31,7 +32,7 @@ export const createAmplifyServerContext = (
|
|
|
31
32
|
* @returns The Amplify server context.
|
|
32
33
|
*/
|
|
33
34
|
export const getAmplifyServerContext = (
|
|
34
|
-
contextSpec: AmplifyServer.ContextSpec
|
|
35
|
+
contextSpec: AmplifyServer.ContextSpec,
|
|
35
36
|
): AmplifyServer.Context => {
|
|
36
37
|
assertContextSpec(contextSpec);
|
|
37
38
|
const context = serverContextRegistry.get(contextSpec);
|
|
@@ -53,7 +54,7 @@ export const getAmplifyServerContext = (
|
|
|
53
54
|
* @param contextSpec The context spec used to destroy the Amplify server context.
|
|
54
55
|
*/
|
|
55
56
|
export const destroyAmplifyServerContext = (
|
|
56
|
-
contextSpec: AmplifyServer.ContextSpec
|
|
57
|
+
contextSpec: AmplifyServer.ContextSpec,
|
|
57
58
|
): void => {
|
|
58
59
|
serverContextRegistry.deregister(contextSpec);
|
|
59
60
|
};
|
|
@@ -18,13 +18,14 @@ export const serverContextRegistry = {
|
|
|
18
18
|
register(context: AmplifyServer.Context): AmplifyServer.ContextSpec {
|
|
19
19
|
const token = createToken();
|
|
20
20
|
storage.set(token, context);
|
|
21
|
+
|
|
21
22
|
return { token };
|
|
22
23
|
},
|
|
23
24
|
deregister(contextSpec: AmplifyServer.ContextSpec): boolean {
|
|
24
25
|
return storage.delete(contextSpec.token);
|
|
25
26
|
},
|
|
26
27
|
get(
|
|
27
|
-
contextSpec: AmplifyServer.ContextSpec
|
|
28
|
+
contextSpec: AmplifyServer.ContextSpec,
|
|
28
29
|
): AmplifyServer.Context | undefined {
|
|
29
30
|
return storage.get(contextSpec.token);
|
|
30
31
|
},
|
|
@@ -4,26 +4,24 @@
|
|
|
4
4
|
import { AmplifyClass } from '../../../singleton';
|
|
5
5
|
import { LibraryOptions, ResourcesConfig } from '../../../singleton/types';
|
|
6
6
|
|
|
7
|
-
export namespace AmplifyServer {
|
|
8
|
-
export
|
|
9
|
-
readonly value:
|
|
10
|
-
}
|
|
7
|
+
export declare namespace AmplifyServer {
|
|
8
|
+
export interface ContextToken {
|
|
9
|
+
readonly value: symbol;
|
|
10
|
+
}
|
|
11
11
|
|
|
12
|
-
export
|
|
12
|
+
export interface ContextSpec {
|
|
13
13
|
readonly token: ContextToken;
|
|
14
|
-
}
|
|
14
|
+
}
|
|
15
15
|
|
|
16
|
-
export
|
|
16
|
+
export interface Context {
|
|
17
17
|
amplify: AmplifyClass;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export interface RunOperationWithContext {
|
|
21
|
-
<Result>(
|
|
22
|
-
amplifyConfig: ResourcesConfig,
|
|
23
|
-
libraryOptions: LibraryOptions,
|
|
24
|
-
operation: (
|
|
25
|
-
contextSpec: AmplifyServer.ContextSpec
|
|
26
|
-
) => Result | Promise<Result>
|
|
27
|
-
): Promise<Result>;
|
|
28
18
|
}
|
|
19
|
+
|
|
20
|
+
export type RunOperationWithContext = <Result>(
|
|
21
|
+
amplifyConfig: ResourcesConfig,
|
|
22
|
+
libraryOptions: LibraryOptions,
|
|
23
|
+
operation: (
|
|
24
|
+
contextSpec: AmplifyServer.ContextSpec,
|
|
25
|
+
) => Result | Promise<Result>,
|
|
26
|
+
) => Promise<Result>;
|
|
29
27
|
}
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
HttpResponse,
|
|
10
10
|
Middleware,
|
|
11
11
|
getDnsSuffix,
|
|
12
|
-
unauthenticatedHandler,
|
|
13
12
|
parseJsonError,
|
|
13
|
+
unauthenticatedHandler,
|
|
14
14
|
} from '../../clients';
|
|
15
15
|
import { composeTransferHandler } from '../../clients/internal/composeTransferHandler';
|
|
16
16
|
import {
|
|
17
|
-
jitteredBackoff,
|
|
18
17
|
getRetryDecider,
|
|
18
|
+
jitteredBackoff,
|
|
19
19
|
} from '../../clients/middleware/retry';
|
|
20
20
|
import { getAmplifyUserAgent } from '../../Platform';
|
|
21
21
|
import { observeFrameworkChanges } from '../../Platform/detectFramework';
|
|
@@ -31,19 +31,23 @@ const SERVICE_NAME = 'cognito-identity';
|
|
|
31
31
|
*/
|
|
32
32
|
const endpointResolver = ({ region }: EndpointResolverOptions) => ({
|
|
33
33
|
url: new AmplifyUrl(
|
|
34
|
-
`https://cognito-identity.${region}.${getDnsSuffix(region)}
|
|
34
|
+
`https://cognito-identity.${region}.${getDnsSuffix(region)}`,
|
|
35
35
|
),
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* A Cognito Identity-specific middleware that disables caching for all requests.
|
|
40
40
|
*/
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
const disableCacheMiddlewareFactory: Middleware<
|
|
42
|
+
HttpRequest,
|
|
43
|
+
HttpResponse,
|
|
44
|
+
Record<string, unknown>
|
|
45
|
+
> = () => next =>
|
|
46
|
+
async function disableCacheMiddleware(request) {
|
|
47
|
+
request.headers['cache-control'] = 'no-store';
|
|
48
|
+
|
|
49
|
+
return next(request);
|
|
50
|
+
};
|
|
47
51
|
|
|
48
52
|
/**
|
|
49
53
|
* A Cognito Identity-specific transfer handler that does NOT sign requests, and
|
|
@@ -52,11 +56,11 @@ const disableCacheMiddleware: Middleware<HttpRequest, HttpResponse, {}> =
|
|
|
52
56
|
* @internal
|
|
53
57
|
*/
|
|
54
58
|
export const cognitoIdentityTransferHandler = composeTransferHandler<
|
|
55
|
-
[Parameters<typeof
|
|
59
|
+
[Parameters<typeof disableCacheMiddlewareFactory>[0]],
|
|
56
60
|
HttpRequest,
|
|
57
61
|
HttpResponse,
|
|
58
62
|
typeof unauthenticatedHandler
|
|
59
|
-
>(unauthenticatedHandler, [
|
|
63
|
+
>(unauthenticatedHandler, [disableCacheMiddlewareFactory]);
|
|
60
64
|
|
|
61
65
|
/**
|
|
62
66
|
* @internal
|
|
@@ -88,7 +92,7 @@ export const getSharedHeaders = (operation: string): Headers => ({
|
|
|
88
92
|
export const buildHttpRpcRequest = (
|
|
89
93
|
{ url }: Endpoint,
|
|
90
94
|
headers: Headers,
|
|
91
|
-
body: any
|
|
95
|
+
body: any,
|
|
92
96
|
): HttpRequest => ({
|
|
93
97
|
headers,
|
|
94
98
|
url,
|