@aws-amplify/core 6.0.17-unstable.e316a2e.0 → 6.0.17
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 +7 -7
- package/dist/cjs/Logger/ConsoleLogger.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 +7 -7
- package/dist/esm/Logger/ConsoleLogger.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/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 +11 -9
- package/src/Logger/types.ts +1 -1
- 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 +16 -15
- 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/parseAWSExports.ts +16 -15
- 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 +9 -6
- 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
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
import { getDnsSuffix } from '../../clients/endpoints';
|
|
5
5
|
import {
|
|
6
|
-
jitteredBackoff,
|
|
7
6
|
getRetryDecider,
|
|
7
|
+
jitteredBackoff,
|
|
8
8
|
} from '../../clients/middleware/retry';
|
|
9
9
|
import { parseJsonError } from '../../clients/serde/json';
|
|
10
10
|
import type { EndpointResolverOptions, Headers } from '../../clients/types';
|
|
@@ -10,35 +10,38 @@ import {
|
|
|
10
10
|
parseMetadata,
|
|
11
11
|
} from '../../clients/serde';
|
|
12
12
|
import { Endpoint, HttpRequest, HttpResponse } from '../../clients/types';
|
|
13
|
+
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
14
|
+
|
|
13
15
|
import { defaultConfig, getSharedHeaders } from './base';
|
|
14
16
|
import type {
|
|
15
17
|
GetInAppMessagesCommandInput as GetInAppMessagesInput,
|
|
16
18
|
GetInAppMessagesCommandOutput as GetInAppMessagesOutput,
|
|
17
19
|
} from './types';
|
|
18
|
-
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
19
20
|
|
|
20
21
|
export type { GetInAppMessagesInput, GetInAppMessagesOutput };
|
|
21
22
|
|
|
22
23
|
const getInAppMessagesSerializer = (
|
|
23
24
|
{ ApplicationId = '', EndpointId = '' }: GetInAppMessagesInput,
|
|
24
|
-
endpoint: Endpoint
|
|
25
|
+
endpoint: Endpoint,
|
|
25
26
|
): HttpRequest => {
|
|
26
27
|
const headers = getSharedHeaders();
|
|
27
28
|
const url = new AmplifyUrl(endpoint.url);
|
|
28
29
|
url.pathname = `v1/apps/${extendedEncodeURIComponent(
|
|
29
|
-
ApplicationId
|
|
30
|
+
ApplicationId,
|
|
30
31
|
)}/endpoints/${extendedEncodeURIComponent(EndpointId)}/inappmessages`;
|
|
32
|
+
|
|
31
33
|
return { method: 'GET', headers, url };
|
|
32
34
|
};
|
|
33
35
|
|
|
34
36
|
const getInAppMessagesDeserializer = async (
|
|
35
|
-
response: HttpResponse
|
|
37
|
+
response: HttpResponse,
|
|
36
38
|
): Promise<GetInAppMessagesOutput> => {
|
|
37
39
|
if (response.statusCode >= 300) {
|
|
38
40
|
const error = await parseJsonError(response);
|
|
39
41
|
throw error;
|
|
40
42
|
} else {
|
|
41
43
|
const { InAppMessageCampaigns } = await parseJsonBody(response);
|
|
44
|
+
|
|
42
45
|
return {
|
|
43
46
|
InAppMessagesResponse: { InAppMessageCampaigns },
|
|
44
47
|
$metadata: parseMetadata(response),
|
|
@@ -53,5 +56,5 @@ export const getInAppMessages = composeServiceApi(
|
|
|
53
56
|
authenticatedHandler,
|
|
54
57
|
getInAppMessagesSerializer,
|
|
55
58
|
getInAppMessagesDeserializer,
|
|
56
|
-
defaultConfig
|
|
59
|
+
defaultConfig,
|
|
57
60
|
);
|
|
@@ -10,36 +10,39 @@ import {
|
|
|
10
10
|
parseMetadata,
|
|
11
11
|
} from '../../clients/serde';
|
|
12
12
|
import { Endpoint, HttpRequest, HttpResponse } from '../../clients/types';
|
|
13
|
+
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
14
|
+
|
|
13
15
|
import { defaultConfig, getSharedHeaders } from './base';
|
|
14
|
-
import {
|
|
16
|
+
import { PinpointValidationErrorCode, assert } from './errorHelpers';
|
|
15
17
|
import type {
|
|
16
18
|
PutEventsCommandInput as PutEventsInput,
|
|
17
19
|
PutEventsCommandOutput as PutEventsOutput,
|
|
18
20
|
} from './types';
|
|
19
|
-
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
20
21
|
|
|
21
22
|
export type { PutEventsInput, PutEventsOutput };
|
|
22
23
|
|
|
23
24
|
const putEventsSerializer = (
|
|
24
25
|
{ ApplicationId, EventsRequest }: PutEventsInput,
|
|
25
|
-
endpoint: Endpoint
|
|
26
|
+
endpoint: Endpoint,
|
|
26
27
|
): HttpRequest => {
|
|
27
28
|
assert(!!ApplicationId, PinpointValidationErrorCode.NoAppId);
|
|
28
29
|
const headers = getSharedHeaders();
|
|
29
30
|
const url = new AmplifyUrl(endpoint.url);
|
|
30
31
|
url.pathname = `v1/apps/${extendedEncodeURIComponent(ApplicationId)}/events`;
|
|
31
32
|
const body = JSON.stringify(EventsRequest ?? {});
|
|
33
|
+
|
|
32
34
|
return { method: 'POST', headers, url, body };
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
const putEventsDeserializer = async (
|
|
36
|
-
response: HttpResponse
|
|
38
|
+
response: HttpResponse,
|
|
37
39
|
): Promise<PutEventsOutput> => {
|
|
38
40
|
if (response.statusCode >= 300) {
|
|
39
41
|
const error = await parseJsonError(response);
|
|
40
42
|
throw error;
|
|
41
43
|
} else {
|
|
42
44
|
const { Results } = await parseJsonBody(response);
|
|
45
|
+
|
|
43
46
|
return {
|
|
44
47
|
EventsResponse: { Results },
|
|
45
48
|
$metadata: parseMetadata(response),
|
|
@@ -54,5 +57,5 @@ export const putEvents = composeServiceApi(
|
|
|
54
57
|
authenticatedHandler,
|
|
55
58
|
putEventsSerializer,
|
|
56
59
|
putEventsDeserializer,
|
|
57
|
-
defaultConfig
|
|
60
|
+
defaultConfig,
|
|
58
61
|
);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* tslint:disable:max-line-length */
|
|
2
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
3
|
|
|
@@ -377,7 +376,7 @@ export interface EventsResponse {
|
|
|
377
376
|
*
|
|
378
377
|
* The input for {@link GetInAppMessagesCommand}.
|
|
379
378
|
*/
|
|
380
|
-
export
|
|
379
|
+
export type GetInAppMessagesCommandInput = GetInAppMessagesRequest;
|
|
381
380
|
/**
|
|
382
381
|
* @public
|
|
383
382
|
*
|
|
@@ -691,7 +690,7 @@ export interface PublicEndpoint {
|
|
|
691
690
|
*
|
|
692
691
|
* The input for {@link PutEventsCommand}.
|
|
693
692
|
*/
|
|
694
|
-
export
|
|
693
|
+
export type PutEventsCommandInput = PutEventsRequest;
|
|
695
694
|
/**
|
|
696
695
|
* @public
|
|
697
696
|
*
|
|
@@ -777,7 +776,7 @@ export interface SetDimension {
|
|
|
777
776
|
*
|
|
778
777
|
* The input for {@link UpdateEndpointCommand}.
|
|
779
778
|
*/
|
|
780
|
-
export
|
|
779
|
+
export type UpdateEndpointCommandInput = UpdateEndpointRequest;
|
|
781
780
|
/**
|
|
782
781
|
* @public
|
|
783
782
|
*
|
|
@@ -10,36 +10,39 @@ import {
|
|
|
10
10
|
parseMetadata,
|
|
11
11
|
} from '../../clients/serde';
|
|
12
12
|
import { Endpoint, HttpRequest, HttpResponse } from '../../clients/types';
|
|
13
|
+
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
14
|
+
|
|
13
15
|
import { defaultConfig, getSharedHeaders } from './base';
|
|
14
16
|
import type {
|
|
15
17
|
UpdateEndpointCommandInput as UpdateEndpointInput,
|
|
16
18
|
UpdateEndpointCommandOutput as UpdateEndpointOutput,
|
|
17
19
|
} from './types';
|
|
18
|
-
import { AmplifyUrl } from '../../utils/amplifyUrl';
|
|
19
20
|
|
|
20
21
|
export type { UpdateEndpointInput, UpdateEndpointOutput };
|
|
21
22
|
|
|
22
23
|
const updateEndpointSerializer = (
|
|
23
24
|
{ ApplicationId = '', EndpointId = '', EndpointRequest }: UpdateEndpointInput,
|
|
24
|
-
endpoint: Endpoint
|
|
25
|
+
endpoint: Endpoint,
|
|
25
26
|
): HttpRequest => {
|
|
26
27
|
const headers = getSharedHeaders();
|
|
27
28
|
const url = new AmplifyUrl(endpoint.url);
|
|
28
29
|
url.pathname = `v1/apps/${extendedEncodeURIComponent(
|
|
29
|
-
ApplicationId
|
|
30
|
+
ApplicationId,
|
|
30
31
|
)}/endpoints/${extendedEncodeURIComponent(EndpointId)}`;
|
|
31
32
|
const body = JSON.stringify(EndpointRequest);
|
|
33
|
+
|
|
32
34
|
return { method: 'PUT', headers, url, body };
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
const updateEndpointDeserializer = async (
|
|
36
|
-
response: HttpResponse
|
|
38
|
+
response: HttpResponse,
|
|
37
39
|
): Promise<UpdateEndpointOutput> => {
|
|
38
40
|
if (response.statusCode >= 300) {
|
|
39
41
|
const error = await parseJsonError(response);
|
|
40
42
|
throw error;
|
|
41
43
|
} else {
|
|
42
44
|
const { Message, RequestID } = await parseJsonBody(response);
|
|
45
|
+
|
|
43
46
|
return {
|
|
44
47
|
MessageBody: {
|
|
45
48
|
Message,
|
|
@@ -57,5 +60,5 @@ export const updateEndpoint = composeServiceApi(
|
|
|
57
60
|
authenticatedHandler,
|
|
58
61
|
updateEndpointSerializer,
|
|
59
62
|
updateEndpointDeserializer,
|
|
60
|
-
defaultConfig
|
|
63
|
+
defaultConfig,
|
|
61
64
|
);
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
4
|
+
import { RetryOptions, retryMiddlewareFactory } from '../middleware/retry';
|
|
5
|
+
import {
|
|
6
|
+
SigningOptions,
|
|
7
|
+
signingMiddlewareFactory,
|
|
8
|
+
} from '../middleware/signing';
|
|
9
|
+
import {
|
|
10
|
+
UserAgentOptions,
|
|
11
|
+
userAgentMiddlewareFactory,
|
|
12
|
+
} from '../middleware/userAgent';
|
|
7
13
|
import { composeTransferHandler } from '../internal/composeTransferHandler';
|
|
8
|
-
import { fetchTransferHandler } from './fetch';
|
|
9
14
|
import { HttpRequest, HttpResponse } from '../types';
|
|
10
15
|
|
|
16
|
+
import { fetchTransferHandler } from './fetch';
|
|
17
|
+
|
|
11
18
|
export const authenticatedHandler = composeTransferHandler<
|
|
12
19
|
[UserAgentOptions, RetryOptions<HttpResponse>, SigningOptions],
|
|
13
20
|
HttpRequest,
|
|
14
21
|
HttpResponse,
|
|
15
22
|
typeof fetchTransferHandler
|
|
16
23
|
>(fetchTransferHandler, [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
userAgentMiddlewareFactory,
|
|
25
|
+
retryMiddlewareFactory,
|
|
26
|
+
signingMiddlewareFactory,
|
|
20
27
|
]);
|
|
@@ -15,7 +15,7 @@ export const fetchTransferHandler: TransferHandler<
|
|
|
15
15
|
HttpTransferOptions
|
|
16
16
|
> = async (
|
|
17
17
|
{ url, method, headers, body },
|
|
18
|
-
{ abortSignal, cache, withCrossDomainCredentials }
|
|
18
|
+
{ abortSignal, cache, withCrossDomainCredentials },
|
|
19
19
|
) => {
|
|
20
20
|
let resp: Response;
|
|
21
21
|
try {
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { RetryOptions, retryMiddlewareFactory } from '../middleware/retry';
|
|
5
|
+
import {
|
|
6
|
+
UserAgentOptions,
|
|
7
|
+
userAgentMiddlewareFactory,
|
|
8
|
+
} from '../middleware/userAgent';
|
|
6
9
|
import { composeTransferHandler } from '../internal/composeTransferHandler';
|
|
7
|
-
import { fetchTransferHandler } from './fetch';
|
|
8
10
|
import { HttpRequest, HttpResponse } from '../types';
|
|
9
11
|
|
|
12
|
+
import { fetchTransferHandler } from './fetch';
|
|
13
|
+
|
|
10
14
|
export const unauthenticatedHandler = composeTransferHandler<
|
|
11
15
|
[UserAgentOptions, RetryOptions<HttpResponse>],
|
|
12
16
|
HttpRequest,
|
|
13
17
|
HttpResponse,
|
|
14
18
|
typeof fetchTransferHandler
|
|
15
|
-
>(fetchTransferHandler, [
|
|
19
|
+
>(fetchTransferHandler, [userAgentMiddlewareFactory, retryMiddlewareFactory]);
|
package/src/clients/index.ts
CHANGED
|
@@ -15,14 +15,17 @@ export {
|
|
|
15
15
|
} from './middleware/signing/signer/signatureV4';
|
|
16
16
|
export { EMPTY_HASH as EMPTY_SHA256_HASH } from './middleware/signing/signer/signatureV4/constants';
|
|
17
17
|
export { extendedEncodeURIComponent } from './middleware/signing/utils/extendedEncodeURIComponent';
|
|
18
|
-
export {
|
|
18
|
+
export { signingMiddlewareFactory, SigningOptions } from './middleware/signing';
|
|
19
19
|
export {
|
|
20
20
|
getRetryDecider,
|
|
21
21
|
jitteredBackoff,
|
|
22
|
-
|
|
22
|
+
retryMiddlewareFactory,
|
|
23
23
|
RetryOptions,
|
|
24
24
|
} from './middleware/retry';
|
|
25
|
-
export {
|
|
25
|
+
export {
|
|
26
|
+
userAgentMiddlewareFactory,
|
|
27
|
+
UserAgentOptions,
|
|
28
|
+
} from './middleware/userAgent';
|
|
26
29
|
export { parseJsonBody, parseJsonError, parseMetadata } from './serde';
|
|
27
30
|
export { withMemoization } from './utils/memoization';
|
|
28
31
|
export * from './types';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { ServiceClientOptions } from '../types/aws';
|
|
5
|
-
import {
|
|
5
|
+
import { Endpoint, TransferHandler } from '../types/core';
|
|
6
6
|
import { HttpRequest, HttpResponse } from '../types/http';
|
|
7
7
|
|
|
8
8
|
export const composeServiceApi = <
|
|
@@ -18,10 +18,10 @@ export const composeServiceApi = <
|
|
|
18
18
|
>,
|
|
19
19
|
serializer: (
|
|
20
20
|
input: Input,
|
|
21
|
-
endpoint: Endpoint
|
|
21
|
+
endpoint: Endpoint,
|
|
22
22
|
) => Promise<HttpRequest> | HttpRequest,
|
|
23
23
|
deserializer: (output: HttpResponse) => Promise<Output>,
|
|
24
|
-
defaultConfig: Partial<DefaultConfig
|
|
24
|
+
defaultConfig: Partial<DefaultConfig>,
|
|
25
25
|
) => {
|
|
26
26
|
return async (
|
|
27
27
|
config: OptionalizeKey<
|
|
@@ -31,7 +31,7 @@ export const composeServiceApi = <
|
|
|
31
31
|
InferEndpointResolverOptionType<DefaultConfig>,
|
|
32
32
|
DefaultConfig
|
|
33
33
|
>,
|
|
34
|
-
input: Input
|
|
34
|
+
input: Input,
|
|
35
35
|
) => {
|
|
36
36
|
const resolvedConfig = {
|
|
37
37
|
...defaultConfig,
|
|
@@ -41,7 +41,7 @@ export const composeServiceApi = <
|
|
|
41
41
|
// Currently S3 supports additional `useAccelerateEndpoint` option to use accelerate endpoint.
|
|
42
42
|
const endpoint = await resolvedConfig.endpointResolver(
|
|
43
43
|
resolvedConfig,
|
|
44
|
-
input
|
|
44
|
+
input,
|
|
45
45
|
);
|
|
46
46
|
// Unlike AWS SDK clients, a serializer should NOT populate the `host` or `content-length` headers.
|
|
47
47
|
// Both of these headers are prohibited per Spec(https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name).
|
|
@@ -50,7 +50,8 @@ export const composeServiceApi = <
|
|
|
50
50
|
const response = await transferHandler(request, {
|
|
51
51
|
...resolvedConfig,
|
|
52
52
|
});
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
return deserializer(response);
|
|
54
55
|
};
|
|
55
56
|
};
|
|
56
57
|
|
|
@@ -66,7 +67,7 @@ type OptionalizeKey<InputType, InputDefaultsType> = {
|
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
type InferEndpointResolverOptionType<T> = T extends {
|
|
69
|
-
endpointResolver
|
|
70
|
+
endpointResolver(options: infer EndpointOptions): any;
|
|
70
71
|
}
|
|
71
72
|
? EndpointOptions
|
|
72
73
|
: never;
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
import {
|
|
5
5
|
Middleware,
|
|
6
6
|
MiddlewareHandler,
|
|
7
|
-
TransferHandler,
|
|
8
7
|
Request as RequestBase,
|
|
9
8
|
Response as ResponseBase,
|
|
9
|
+
TransferHandler,
|
|
10
10
|
} from '../types';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -26,26 +26,27 @@ export const composeTransferHandler =
|
|
|
26
26
|
Request,
|
|
27
27
|
Response,
|
|
28
28
|
any
|
|
29
|
-
> = TransferHandler<Request, Response,
|
|
29
|
+
> = TransferHandler<Request, Response, Record<string, unknown>>,
|
|
30
30
|
>(
|
|
31
31
|
coreHandler: CoreHandler,
|
|
32
|
-
middleware: OptionToMiddleware<Request, Response, MiddlewareOptionsArr
|
|
32
|
+
middleware: OptionToMiddleware<Request, Response, MiddlewareOptionsArr>,
|
|
33
33
|
) =>
|
|
34
34
|
(
|
|
35
35
|
request: Request,
|
|
36
36
|
options: MergeNoConflictKeys<
|
|
37
37
|
[...MiddlewareOptionsArr, InferOptionTypeFromTransferHandler<CoreHandler>]
|
|
38
|
-
|
|
38
|
+
>,
|
|
39
39
|
) => {
|
|
40
40
|
const context = {};
|
|
41
41
|
let composedHandler: MiddlewareHandler<Request, Response> = (
|
|
42
|
-
|
|
43
|
-
) => coreHandler(
|
|
42
|
+
composeHandlerRequest: Request,
|
|
43
|
+
) => coreHandler(composeHandlerRequest, options);
|
|
44
44
|
for (let i = middleware.length - 1; i >= 0; i--) {
|
|
45
45
|
const m = middleware[i];
|
|
46
46
|
const resolvedMiddleware = m(options);
|
|
47
47
|
composedHandler = resolvedMiddleware(composedHandler, context);
|
|
48
48
|
}
|
|
49
|
+
|
|
49
50
|
return composedHandler(request);
|
|
50
51
|
};
|
|
51
52
|
|
|
@@ -60,13 +61,13 @@ type OptionToMiddleware<
|
|
|
60
61
|
> = Options extends []
|
|
61
62
|
? []
|
|
62
63
|
: Options extends [infer LastOption]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
? [Middleware<Request, Response, LastOption>]
|
|
65
|
+
: Options extends [infer FirstOption, ...infer RestOptions]
|
|
66
|
+
? [
|
|
66
67
|
Middleware<Request, Response, FirstOption>,
|
|
67
68
|
...OptionToMiddleware<Request, Response, RestOptions>,
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
]
|
|
70
|
+
: never;
|
|
70
71
|
|
|
71
72
|
/**
|
|
72
73
|
* Type to intersect multiple types if they have no conflict keys.
|
|
@@ -76,10 +77,10 @@ type MergeNoConflictKeys<Options extends any[]> = Options extends [
|
|
|
76
77
|
]
|
|
77
78
|
? OnlyOption
|
|
78
79
|
: Options extends [infer FirstOption, infer SecondOption]
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
? FirstOption & SecondOption
|
|
81
|
+
: Options extends [infer FirstOption, ...infer RestOptions]
|
|
82
|
+
? FirstOption & MergeNoConflictKeys<RestOptions>
|
|
83
|
+
: never;
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
86
|
* Type to infer the option type of a transfer handler type.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { ErrorParser, HttpResponse } from '../../types';
|
|
5
|
+
|
|
5
6
|
import { isClockSkewError } from './isClockSkewError';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -15,8 +16,9 @@ export const getRetryDecider =
|
|
|
15
16
|
(error as Error & { code: string }) ??
|
|
16
17
|
(await errorParser(response)) ??
|
|
17
18
|
undefined;
|
|
18
|
-
const errorCode = parsedError?.
|
|
19
|
+
const errorCode = parsedError?.code;
|
|
19
20
|
const statusCode = response?.statusCode;
|
|
21
|
+
|
|
20
22
|
return (
|
|
21
23
|
isConnectionError(error) ||
|
|
22
24
|
isThrottlingError(statusCode, errorCode) ||
|
|
@@ -53,7 +55,7 @@ const isThrottlingError = (statusCode?: number, errorCode?: string) =>
|
|
|
53
55
|
(!!errorCode && THROTTLING_ERROR_CODES.includes(errorCode));
|
|
54
56
|
|
|
55
57
|
const isConnectionError = (error?: unknown) =>
|
|
56
|
-
(error as Error)?.
|
|
58
|
+
(error as Error)?.name === 'Network error';
|
|
57
59
|
|
|
58
60
|
const isServerSideError = (statusCode?: number, errorCode?: string) =>
|
|
59
61
|
(!!statusCode && [500, 502, 503, 504].includes(statusCode)) ||
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
export { RetryOptions,
|
|
4
|
+
export { RetryOptions, retryMiddlewareFactory } from './middleware';
|
|
5
5
|
export { jitteredBackoff } from './jitteredBackoff';
|
|
6
6
|
export { getRetryDecider } from './defaultRetryDecider';
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
+
import { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';
|
|
5
|
+
|
|
4
6
|
import type { RetryOptions } from './middleware';
|
|
5
7
|
// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.
|
|
6
|
-
import { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';
|
|
7
8
|
|
|
8
9
|
const DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;
|
|
9
10
|
|
|
10
11
|
export const jitteredBackoff: RetryOptions['computeDelay'] = attempt => {
|
|
11
12
|
const delayFunction = jitteredBackoffUtil(DEFAULT_MAX_DELAY_MS);
|
|
12
13
|
const delay = delayFunction(attempt);
|
|
14
|
+
|
|
13
15
|
// The delayFunction returns false when the delay is greater than the max delay(5 mins).
|
|
14
16
|
// In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.
|
|
15
17
|
return delay === false ? DEFAULT_MAX_DELAY_MS : delay;
|
|
@@ -21,14 +21,14 @@ export interface RetryOptions<TResponse = Response> {
|
|
|
21
21
|
* @param error Optional error thrown from previous attempts.
|
|
22
22
|
* @returns True if the request should be retried.
|
|
23
23
|
*/
|
|
24
|
-
retryDecider
|
|
24
|
+
retryDecider(response?: TResponse, error?: unknown): Promise<boolean>;
|
|
25
25
|
/**
|
|
26
26
|
* Function to compute the delay in milliseconds before the next retry based
|
|
27
27
|
* on the number of attempts.
|
|
28
28
|
* @param attempt Current number of attempts, including the first attempt.
|
|
29
29
|
* @returns Delay in milliseconds.
|
|
30
30
|
*/
|
|
31
|
-
computeDelay
|
|
31
|
+
computeDelay(attempt: number): number;
|
|
32
32
|
/**
|
|
33
33
|
* Maximum number of retry attempts, starting from 1. Defaults to 3.
|
|
34
34
|
*/
|
|
@@ -42,7 +42,7 @@ export interface RetryOptions<TResponse = Response> {
|
|
|
42
42
|
/**
|
|
43
43
|
* Retry middleware
|
|
44
44
|
*/
|
|
45
|
-
export const
|
|
45
|
+
export const retryMiddlewareFactory = <TInput = Request, TOutput = Response>({
|
|
46
46
|
maxAttempts = DEFAULT_RETRY_ATTEMPTS,
|
|
47
47
|
retryDecider,
|
|
48
48
|
computeDelay,
|
|
@@ -51,9 +51,10 @@ export const retryMiddleware = <TInput = Request, TOutput = Response>({
|
|
|
51
51
|
if (maxAttempts < 1) {
|
|
52
52
|
throw new Error('maxAttempts must be greater than 0');
|
|
53
53
|
}
|
|
54
|
+
|
|
54
55
|
return (
|
|
55
56
|
next: MiddlewareHandler<TInput, TOutput>,
|
|
56
|
-
context: MiddlewareContext
|
|
57
|
+
context: MiddlewareContext,
|
|
57
58
|
) =>
|
|
58
59
|
async function retryMiddleware(request: TInput) {
|
|
59
60
|
let error: unknown;
|
|
@@ -64,6 +65,7 @@ export const retryMiddleware = <TInput = Request, TOutput = Response>({
|
|
|
64
65
|
const handleTerminalErrorOrResponse = () => {
|
|
65
66
|
if (response) {
|
|
66
67
|
addOrIncrementMetadataAttempts(response, attemptsCount);
|
|
68
|
+
|
|
67
69
|
return response;
|
|
68
70
|
} else {
|
|
69
71
|
addOrIncrementMetadataAttempts(error as object, attemptsCount);
|
|
@@ -110,28 +112,29 @@ const cancellableSleep = (timeoutMs: number, abortSignal?: AbortSignal) => {
|
|
|
110
112
|
return Promise.resolve();
|
|
111
113
|
}
|
|
112
114
|
let timeoutId: ReturnType<typeof setTimeout>;
|
|
113
|
-
let sleepPromiseResolveFn:
|
|
115
|
+
let sleepPromiseResolveFn: () => void;
|
|
114
116
|
const sleepPromise = new Promise<void>(resolve => {
|
|
115
117
|
sleepPromiseResolveFn = resolve;
|
|
116
118
|
timeoutId = setTimeout(resolve, timeoutMs);
|
|
117
119
|
});
|
|
118
|
-
abortSignal?.addEventListener('abort', function cancelSleep(
|
|
120
|
+
abortSignal?.addEventListener('abort', function cancelSleep(_) {
|
|
119
121
|
clearTimeout(timeoutId);
|
|
120
122
|
abortSignal?.removeEventListener('abort', cancelSleep);
|
|
121
123
|
sleepPromiseResolveFn();
|
|
122
124
|
});
|
|
125
|
+
|
|
123
126
|
return sleepPromise;
|
|
124
127
|
};
|
|
125
128
|
|
|
126
129
|
const addOrIncrementMetadataAttempts = (
|
|
127
130
|
nextHandlerOutput: Record<string, any>,
|
|
128
|
-
attempts: number
|
|
131
|
+
attempts: number,
|
|
129
132
|
) => {
|
|
130
133
|
if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {
|
|
131
134
|
return;
|
|
132
135
|
}
|
|
133
|
-
nextHandlerOutput
|
|
134
|
-
...(nextHandlerOutput
|
|
136
|
+
nextHandlerOutput.$metadata = {
|
|
137
|
+
...(nextHandlerOutput.$metadata ?? {}),
|
|
135
138
|
attempts,
|
|
136
139
|
};
|
|
137
140
|
};
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
HttpResponse,
|
|
8
8
|
MiddlewareHandler,
|
|
9
9
|
} from '../../types';
|
|
10
|
+
|
|
10
11
|
import { signRequest } from './signer/signatureV4';
|
|
11
12
|
import { getSkewCorrectedDate } from './utils/getSkewCorrectedDate';
|
|
12
13
|
import { getUpdatedSystemClockOffset } from './utils/getUpdatedSystemClockOffset';
|
|
@@ -32,13 +33,14 @@ export interface SigningOptions {
|
|
|
32
33
|
* Middleware that SigV4 signs request with AWS credentials, and correct system clock offset.
|
|
33
34
|
* This middleware is expected to be placed after retry middleware.
|
|
34
35
|
*/
|
|
35
|
-
export const
|
|
36
|
+
export const signingMiddlewareFactory = ({
|
|
36
37
|
credentials,
|
|
37
38
|
region,
|
|
38
39
|
service,
|
|
39
40
|
uriEscapePath = true,
|
|
40
41
|
}: SigningOptions) => {
|
|
41
42
|
let currentSystemClockOffset: number;
|
|
43
|
+
|
|
42
44
|
return (next: MiddlewareHandler<HttpRequest, HttpResponse>) =>
|
|
43
45
|
async function signingMiddleware(request: HttpRequest) {
|
|
44
46
|
currentSystemClockOffset = currentSystemClockOffset ?? 0;
|
|
@@ -59,9 +61,10 @@ export const signingMiddleware = ({
|
|
|
59
61
|
if (dateString) {
|
|
60
62
|
currentSystemClockOffset = getUpdatedSystemClockOffset(
|
|
61
63
|
Date.parse(dateString),
|
|
62
|
-
currentSystemClockOffset
|
|
64
|
+
currentSystemClockOffset,
|
|
63
65
|
);
|
|
64
66
|
}
|
|
67
|
+
|
|
65
68
|
return response;
|
|
66
69
|
};
|
|
67
70
|
};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { AmplifyUrl } from '../../../../../utils/amplifyUrl';
|
|
5
|
+
|
|
6
|
+
import { PresignUrlOptions, Presignable } from './types';
|
|
5
7
|
import {
|
|
6
8
|
ALGORITHM_QUERY_PARAM,
|
|
7
9
|
AMZ_DATE_QUERY_PARAM,
|
|
@@ -15,7 +17,6 @@ import {
|
|
|
15
17
|
} from './constants';
|
|
16
18
|
import { getSigningValues } from './utils/getSigningValues';
|
|
17
19
|
import { getSignature } from './utils/getSignature';
|
|
18
|
-
import { AmplifyUrl } from '../../../../../utils/amplifyUrl';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Given a `Presignable` object, returns a Signature Version 4 presigned `URL` object.
|
|
@@ -26,14 +27,13 @@ import { AmplifyUrl } from '../../../../../utils/amplifyUrl';
|
|
|
26
27
|
*/
|
|
27
28
|
export const presignUrl = (
|
|
28
29
|
{ body, method = 'GET', url }: Presignable,
|
|
29
|
-
{ expiration, ...options }: PresignUrlOptions
|
|
30
|
+
{ expiration, ...options }: PresignUrlOptions,
|
|
30
31
|
): URL => {
|
|
31
32
|
const signingValues = getSigningValues(options);
|
|
32
33
|
const { accessKeyId, credentialScope, longDate, sessionToken } =
|
|
33
34
|
signingValues;
|
|
34
35
|
|
|
35
36
|
// create the request to sign
|
|
36
|
-
// @ts-ignore URL constructor accepts a URL object
|
|
37
37
|
const presignedUrl = new AmplifyUrl(url);
|
|
38
38
|
Object.entries({
|
|
39
39
|
[ALGORITHM_QUERY_PARAM]: SHA256_ALGORITHM_IDENTIFIER,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import { HttpRequest } from '../../../../types';
|
|
5
|
+
|
|
5
6
|
import { SignRequestOptions } from './types/signer';
|
|
6
7
|
import { getSignedHeaders } from './utils/getSignedHeaders';
|
|
7
8
|
import { getSigningValues } from './utils/getSigningValues';
|
|
@@ -23,7 +24,7 @@ import { getSignature } from './utils/getSignature';
|
|
|
23
24
|
*/
|
|
24
25
|
export const signRequest = (
|
|
25
26
|
request: HttpRequest,
|
|
26
|
-
options: SignRequestOptions
|
|
27
|
+
options: SignRequestOptions,
|
|
27
28
|
): HttpRequest => {
|
|
28
29
|
const signingValues = getSigningValues(options);
|
|
29
30
|
const { accessKeyId, credentialScope, longDate, sessionToken } =
|