@aws-amplify/core 6.10.6 → 6.10.7-unstable.b188564.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/Platform/version.js +1 -1
- package/dist/cjs/Platform/version.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/updateEndpoint.js +1 -1
- package/dist/cjs/awsClients/pinpoint/updateEndpoint.js.map +1 -1
- package/dist/cjs/clients/handlers/{authenticated.js → aws/authenticated.js} +9 -7
- package/dist/cjs/clients/handlers/aws/authenticated.js.map +1 -0
- package/dist/cjs/clients/handlers/aws/unauthenticated.js +17 -0
- package/dist/cjs/clients/handlers/aws/unauthenticated.js.map +1 -0
- package/dist/cjs/clients/index.js +5 -3
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.js +28 -0
- package/dist/cjs/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.js.map +1 -0
- package/dist/cjs/clients/middleware/retry/amzSdkRequestHeaderMiddleware.js +27 -0
- package/dist/cjs/clients/middleware/retry/amzSdkRequestHeaderMiddleware.js.map +1 -0
- package/dist/cjs/clients/middleware/retry/constants.js +11 -0
- package/dist/cjs/clients/middleware/retry/constants.js.map +1 -0
- package/dist/cjs/clients/middleware/retry/index.js +7 -3
- package/dist/cjs/clients/middleware/retry/index.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js +3 -3
- package/dist/cjs/clients/middleware/retry/jitteredBackoff.js.map +1 -1
- package/dist/cjs/clients/middleware/retry/{middleware.js → retryMiddleware.js} +4 -6
- package/dist/cjs/clients/middleware/retry/retryMiddleware.js.map +1 -0
- package/dist/cjs/clients/types/aws.js +0 -2
- package/dist/cjs/clients/types/aws.js.map +1 -1
- package/dist/cjs/errors/AmplifyError.js +6 -3
- package/dist/cjs/errors/AmplifyError.js.map +1 -1
- package/dist/cjs/types/errors.js +0 -2
- package/dist/cjs/types/errors.js.map +1 -1
- 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/ServiceWorker/ServiceWorker.mjs +9 -1
- package/dist/esm/ServiceWorker/ServiceWorker.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/base.d.ts +1 -1
- package/dist/esm/awsClients/cognitoIdentity/base.mjs +13 -3
- package/dist/esm/awsClients/cognitoIdentity/base.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs +9 -0
- package/dist/esm/awsClients/cognitoIdentity/getCredentialsForIdentity.mjs.map +1 -1
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs +9 -0
- package/dist/esm/awsClients/cognitoIdentity/getId.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/base.mjs +16 -2
- package/dist/esm/awsClients/pinpoint/base.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/getInAppMessages.d.ts +3 -3
- 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 +3 -3
- package/dist/esm/awsClients/pinpoint/putEvents.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/putEvents.mjs.map +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.d.ts +3 -3
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs +1 -1
- package/dist/esm/awsClients/pinpoint/updateEndpoint.mjs.map +1 -1
- package/dist/esm/clients/handlers/aws/authenticated.d.ts +5 -0
- package/dist/esm/clients/handlers/aws/authenticated.mjs +24 -0
- package/dist/esm/clients/handlers/aws/authenticated.mjs.map +1 -0
- package/dist/esm/clients/handlers/aws/unauthenticated.d.ts +4 -0
- package/dist/esm/clients/handlers/aws/unauthenticated.mjs +22 -0
- package/dist/esm/clients/handlers/aws/unauthenticated.mjs.map +1 -0
- package/dist/esm/clients/index.d.ts +4 -4
- package/dist/esm/clients/index.mjs +5 -3
- package/dist/esm/clients/index.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.d.ts +12 -0
- package/dist/esm/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.mjs +40 -0
- package/dist/esm/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.mjs.map +1 -0
- package/dist/esm/clients/middleware/retry/amzSdkRequestHeaderMiddleware.d.ts +14 -0
- package/dist/esm/clients/middleware/retry/amzSdkRequestHeaderMiddleware.mjs +25 -0
- package/dist/esm/clients/middleware/retry/amzSdkRequestHeaderMiddleware.mjs.map +1 -0
- package/dist/esm/clients/middleware/retry/constants.d.ts +4 -0
- package/dist/esm/clients/middleware/retry/constants.mjs +9 -0
- package/dist/esm/clients/middleware/retry/constants.mjs.map +1 -0
- package/dist/esm/clients/middleware/retry/index.d.ts +3 -1
- package/dist/esm/clients/middleware/retry/index.mjs +3 -1
- package/dist/esm/clients/middleware/retry/index.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/jitteredBackoff.d.ts +1 -1
- package/dist/esm/clients/middleware/retry/jitteredBackoff.mjs +1 -1
- package/dist/esm/clients/middleware/retry/jitteredBackoff.mjs.map +1 -1
- package/dist/esm/clients/middleware/retry/{middleware.d.ts → retryMiddleware.d.ts} +4 -4
- package/dist/esm/clients/middleware/retry/{middleware.mjs → retryMiddleware.mjs} +4 -5
- package/dist/esm/clients/middleware/retry/retryMiddleware.mjs.map +1 -0
- package/dist/esm/clients/types/aws.d.ts +1 -1
- package/dist/esm/errors/AmplifyError.d.ts +8 -4
- package/dist/esm/errors/AmplifyError.mjs +6 -3
- package/dist/esm/errors/AmplifyError.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs +9 -1
- package/dist/esm/providers/pinpoint/apis/updateEndpoint.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs +9 -0
- package/dist/esm/providers/pinpoint/utils/PinpointEventBuffer.mjs.map +1 -1
- package/dist/esm/singleton/Auth/types.d.ts +1 -1
- package/dist/esm/types/errors.d.ts +3 -0
- package/dist/esm/types/errors.mjs +0 -2
- package/dist/esm/types/errors.mjs.map +1 -1
- package/package.json +8 -8
- package/src/Platform/version.ts +1 -1
- package/src/awsClients/pinpoint/getInAppMessages.ts +1 -1
- package/src/awsClients/pinpoint/putEvents.ts +1 -1
- package/src/awsClients/pinpoint/updateEndpoint.ts +1 -1
- package/src/clients/handlers/aws/authenticated.ts +39 -0
- package/src/clients/handlers/aws/unauthenticated.ts +34 -0
- package/src/clients/index.ts +7 -4
- package/src/clients/middleware/retry/amzSdkInvocationIdHeaderMiddleware.ts +31 -0
- package/src/clients/middleware/retry/amzSdkRequestHeaderMiddleware.ts +38 -0
- package/src/clients/middleware/retry/constants.ts +10 -0
- package/src/clients/middleware/retry/index.ts +6 -1
- package/src/clients/middleware/retry/jitteredBackoff.ts +2 -3
- package/src/clients/middleware/retry/{middleware.ts → retryMiddleware.ts} +10 -9
- package/src/clients/types/aws.ts +1 -5
- package/src/errors/AmplifyError.ts +13 -4
- package/src/singleton/Auth/types.ts +1 -5
- package/src/types/errors.ts +7 -0
- package/dist/cjs/clients/handlers/authenticated.js.map +0 -1
- package/dist/cjs/clients/handlers/unauthenticated.js +0 -12
- package/dist/cjs/clients/handlers/unauthenticated.js.map +0 -1
- package/dist/cjs/clients/middleware/retry/middleware.js.map +0 -1
- package/dist/esm/clients/handlers/authenticated.d.ts +0 -5
- package/dist/esm/clients/handlers/authenticated.mjs +0 -20
- package/dist/esm/clients/handlers/authenticated.mjs.map +0 -1
- package/dist/esm/clients/handlers/unauthenticated.d.ts +0 -4
- package/dist/esm/clients/handlers/unauthenticated.mjs +0 -15
- package/dist/esm/clients/handlers/unauthenticated.mjs.map +0 -1
- package/dist/esm/clients/middleware/retry/middleware.mjs.map +0 -1
- package/src/clients/handlers/authenticated.ts +0 -27
- package/src/clients/handlers/unauthenticated.ts +0 -19
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
const DEFAULT_RETRY_ATTEMPTS = 3;
|
|
4
|
+
const AMZ_SDK_INVOCATION_ID_HEADER = 'amz-sdk-invocation-id';
|
|
5
|
+
const AMZ_SDK_REQUEST_HEADER = 'amz-sdk-request';
|
|
6
|
+
const DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;
|
|
7
|
+
|
|
8
|
+
export { AMZ_SDK_INVOCATION_ID_HEADER, AMZ_SDK_REQUEST_HEADER, DEFAULT_MAX_DELAY_MS, DEFAULT_RETRY_ATTEMPTS };
|
|
9
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../src/clients/middleware/retry/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const DEFAULT_RETRY_ATTEMPTS = 3;\nexport const AMZ_SDK_INVOCATION_ID_HEADER = 'amz-sdk-invocation-id';\nexport const AMZ_SDK_REQUEST_HEADER = 'amz-sdk-request';\nexport const DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,sBAAsB,GAAG;AAC1B,MAAC,4BAA4B,GAAG;AAChC,MAAC,sBAAsB,GAAG;AAC1B,MAAC,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG;;;;"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { RetryOptions, retryMiddlewareFactory } from './
|
|
1
|
+
export { RetryOptions, retryMiddlewareFactory } from './retryMiddleware';
|
|
2
2
|
export { jitteredBackoff } from './jitteredBackoff';
|
|
3
3
|
export { getRetryDecider } from './defaultRetryDecider';
|
|
4
4
|
export { RetryDeciderOutput } from './types';
|
|
5
|
+
export { amzSdkInvocationIdHeaderMiddlewareFactory } from './amzSdkInvocationIdHeaderMiddleware';
|
|
6
|
+
export { amzSdkRequestHeaderMiddlewareFactory, AmzSdkRequestHeaderMiddlewareOptions, } from './amzSdkRequestHeaderMiddleware';
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { retryMiddlewareFactory } from './
|
|
1
|
+
export { retryMiddlewareFactory } from './retryMiddleware.mjs';
|
|
2
2
|
export { jitteredBackoff } from './jitteredBackoff.mjs';
|
|
3
3
|
export { getRetryDecider } from './defaultRetryDecider.mjs';
|
|
4
|
+
export { amzSdkInvocationIdHeaderMiddlewareFactory } from './amzSdkInvocationIdHeaderMiddleware.mjs';
|
|
5
|
+
export { amzSdkRequestHeaderMiddlewareFactory } from './amzSdkRequestHeaderMiddleware.mjs';
|
|
4
6
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { RetryOptions } from './
|
|
1
|
+
import type { RetryOptions } from './retryMiddleware';
|
|
2
2
|
export declare const jitteredBackoff: RetryOptions['computeDelay'];
|
|
@@ -3,11 +3,11 @@ import '../../../errors/errorHelpers.mjs';
|
|
|
3
3
|
import '../../../utils/getClientInfo/getClientInfo.mjs';
|
|
4
4
|
import { jitteredBackoff as jitteredBackoff$1 } from '../../../utils/retry/jitteredBackoff.mjs';
|
|
5
5
|
import '../../../utils/retry/retry.mjs';
|
|
6
|
+
import { DEFAULT_MAX_DELAY_MS } from './constants.mjs';
|
|
6
7
|
|
|
7
8
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
9
10
|
// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.
|
|
10
|
-
const DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;
|
|
11
11
|
const jitteredBackoff = attempt => {
|
|
12
12
|
const delayFunction = jitteredBackoff$1(DEFAULT_MAX_DELAY_MS);
|
|
13
13
|
const delay = delayFunction(attempt);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jitteredBackoff.mjs","sources":["../../../../../src/clients/middleware/retry/jitteredBackoff.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\
|
|
1
|
+
{"version":3,"file":"jitteredBackoff.mjs","sources":["../../../../../src/clients/middleware/retry/jitteredBackoff.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { jitteredBackoff as jitteredBackoffUtil } from '../../../utils';\nimport { DEFAULT_MAX_DELAY_MS } from './constants';\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\nexport const jitteredBackoff = attempt => {\n const delayFunction = jitteredBackoffUtil(DEFAULT_MAX_DELAY_MS);\n const delay = delayFunction(attempt);\n // The delayFunction returns false when the delay is greater than the max delay(5 mins).\n // In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.\n return delay === false ? DEFAULT_MAX_DELAY_MS : delay;\n};\n"],"names":["jitteredBackoffUtil"],"mappings":";;;;;;;AAAA;AACA;AAGA;AACY,MAAC,eAAe,GAAG,OAAO,IAAI;AAC1C,IAAI,MAAM,aAAa,GAAGA,iBAAmB,CAAC,oBAAoB,CAAC;AACnE,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;AACxC;AACA;AACA,IAAI,OAAO,KAAK,KAAK,KAAK,GAAG,oBAAoB,GAAG,KAAK;AACzD;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HttpRequest, HttpResponse, MiddlewareContext, MiddlewareHandler } from '../../types';
|
|
2
2
|
import { RetryDeciderOutput } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Configuration of the retry middleware
|
|
5
5
|
*/
|
|
6
|
-
export interface RetryOptions<TResponse =
|
|
6
|
+
export interface RetryOptions<TResponse extends HttpResponse = HttpResponse> {
|
|
7
7
|
/**
|
|
8
8
|
* Function to decide if the request should be retried.
|
|
9
9
|
*
|
|
@@ -30,6 +30,6 @@ export interface RetryOptions<TResponse = Response> {
|
|
|
30
30
|
abortSignal?: AbortSignal;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Middleware that executes the retry logic.
|
|
34
34
|
*/
|
|
35
|
-
export declare const retryMiddlewareFactory: <TInput =
|
|
35
|
+
export declare const retryMiddlewareFactory: <TInput extends HttpRequest = HttpRequest, TOutput extends HttpResponse = HttpResponse>({ maxAttempts, retryDecider, computeDelay, abortSignal, }: RetryOptions<TOutput>) => (next: MiddlewareHandler<TInput, TOutput>, context: MiddlewareContext) => (request: TInput) => Promise<TOutput>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const DEFAULT_RETRY_ATTEMPTS = 3;
|
|
1
|
+
import { DEFAULT_RETRY_ATTEMPTS } from './constants.mjs';
|
|
2
|
+
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
4
|
+
* Middleware that executes the retry logic.
|
|
6
5
|
*/
|
|
7
6
|
const retryMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS, retryDecider, computeDelay, abortSignal, }) => {
|
|
8
7
|
if (maxAttempts < 1) {
|
|
@@ -89,4 +88,4 @@ const addOrIncrementMetadataAttempts = (nextHandlerOutput, attempts) => {
|
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
export { retryMiddlewareFactory };
|
|
92
|
-
//# sourceMappingURL=
|
|
91
|
+
//# sourceMappingURL=retryMiddleware.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryMiddleware.mjs","sources":["../../../../../src/clients/middleware/retry/retryMiddleware.ts"],"sourcesContent":["import { DEFAULT_RETRY_ATTEMPTS } from './constants';\n/**\n * Middleware that executes the retry logic.\n */\nexport const retryMiddlewareFactory = ({ maxAttempts = DEFAULT_RETRY_ATTEMPTS, retryDecider, computeDelay, abortSignal, }) => {\n if (maxAttempts < 1) {\n throw new Error('maxAttempts must be greater than 0');\n }\n return (next, context) => async function retryMiddleware(request) {\n let error;\n let attemptsCount = context.attemptsCount ?? 0;\n let response;\n // When retry is not needed or max attempts is reached, either error or response will be set. This function handles either cases.\n const handleTerminalErrorOrResponse = () => {\n if (response) {\n addOrIncrementMetadataAttempts(response, attemptsCount);\n return response;\n }\n else {\n addOrIncrementMetadataAttempts(error, attemptsCount);\n throw error;\n }\n };\n while (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n try {\n response = await next(request);\n error = undefined;\n }\n catch (e) {\n error = e;\n response = undefined;\n }\n // context.attemptsCount may be updated after calling next handler which may retry the request by itself.\n attemptsCount =\n (context.attemptsCount ?? 0) > attemptsCount\n ? (context.attemptsCount ?? 0)\n : attemptsCount + 1;\n context.attemptsCount = attemptsCount;\n const { isCredentialsExpiredError, retryable } = await retryDecider(response, error, context);\n if (retryable) {\n // Setting isCredentialsInvalid flag to notify signing middleware to forceRefresh credentials provider.\n context.isCredentialsExpired = !!isCredentialsExpiredError;\n if (!abortSignal?.aborted && attemptsCount < maxAttempts) {\n // prevent sleep for last attempt or cancelled request;\n const delay = computeDelay(attemptsCount);\n await cancellableSleep(delay, abortSignal);\n }\n continue;\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n }\n if (abortSignal?.aborted) {\n throw new Error('Request aborted.');\n }\n else {\n return handleTerminalErrorOrResponse();\n }\n };\n};\nconst cancellableSleep = (timeoutMs, abortSignal) => {\n if (abortSignal?.aborted) {\n return Promise.resolve();\n }\n let timeoutId;\n let sleepPromiseResolveFn;\n const sleepPromise = new Promise(resolve => {\n sleepPromiseResolveFn = resolve;\n timeoutId = setTimeout(resolve, timeoutMs);\n });\n abortSignal?.addEventListener('abort', function cancelSleep(_) {\n clearTimeout(timeoutId);\n abortSignal?.removeEventListener('abort', cancelSleep);\n sleepPromiseResolveFn();\n });\n return sleepPromise;\n};\nconst addOrIncrementMetadataAttempts = (nextHandlerOutput, attempts) => {\n if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {\n return;\n }\n nextHandlerOutput.$metadata = {\n ...(nextHandlerOutput.$metadata ?? {}),\n attempts,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MetadataBearer } from '@aws-sdk/types';
|
|
2
2
|
import { Endpoint } from './core';
|
|
3
3
|
import { HttpResponse } from './http';
|
|
4
|
-
export type { AwsCredentialIdentity as Credentials
|
|
4
|
+
export type { AwsCredentialIdentity as Credentials } from '@aws-sdk/types';
|
|
5
5
|
export type SourceData = string | ArrayBuffer | ArrayBufferView;
|
|
6
6
|
/**
|
|
7
7
|
* Basic option type for endpoint resolvers. It contains region only.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { AmplifyErrorParams } from '../types/errors';
|
|
1
|
+
import { AmplifyErrorParams, ResponseMetadata } from '../types/errors';
|
|
2
2
|
export declare class AmplifyError extends Error {
|
|
3
|
-
underlyingError?: Error | unknown;
|
|
4
|
-
recoverySuggestion?: string;
|
|
3
|
+
readonly underlyingError?: Error | unknown;
|
|
4
|
+
readonly recoverySuggestion?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Additional metadata that can be used to provide more context to the error.
|
|
7
|
+
*/
|
|
8
|
+
readonly metadata?: ResponseMetadata;
|
|
5
9
|
/**
|
|
6
10
|
* Constructs an AmplifyError.
|
|
7
11
|
*
|
|
@@ -10,5 +14,5 @@ export declare class AmplifyError extends Error {
|
|
|
10
14
|
* @param recoverySuggestion suggestion to recover from the error.
|
|
11
15
|
*
|
|
12
16
|
*/
|
|
13
|
-
constructor({ message, name, recoverySuggestion, underlyingError, }: AmplifyErrorParams);
|
|
17
|
+
constructor({ message, name, recoverySuggestion, underlyingError, metadata, }: AmplifyErrorParams);
|
|
14
18
|
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
1
|
class AmplifyError extends Error {
|
|
4
2
|
/**
|
|
5
3
|
* Constructs an AmplifyError.
|
|
@@ -9,11 +7,16 @@ class AmplifyError extends Error {
|
|
|
9
7
|
* @param recoverySuggestion suggestion to recover from the error.
|
|
10
8
|
*
|
|
11
9
|
*/
|
|
12
|
-
constructor({ message, name, recoverySuggestion, underlyingError, }) {
|
|
10
|
+
constructor({ message, name, recoverySuggestion, underlyingError, metadata, }) {
|
|
13
11
|
super(message);
|
|
14
12
|
this.name = name;
|
|
15
13
|
this.underlyingError = underlyingError;
|
|
16
14
|
this.recoverySuggestion = recoverySuggestion;
|
|
15
|
+
if (metadata) {
|
|
16
|
+
// If metadata exists, explicitly only record the following properties.
|
|
17
|
+
const { extendedRequestId, httpStatusCode, requestId } = metadata;
|
|
18
|
+
this.metadata = { extendedRequestId, httpStatusCode, requestId };
|
|
19
|
+
}
|
|
17
20
|
// Hack for making the custom error class work when transpiled to es5
|
|
18
21
|
// TODO: Delete the following 2 lines after we change the build target to >= es2015
|
|
19
22
|
this.constructor = AmplifyError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmplifyError.mjs","sources":["../../../src/errors/AmplifyError.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"AmplifyError.mjs","sources":["../../../src/errors/AmplifyError.ts"],"sourcesContent":["export class AmplifyError extends Error {\n /**\n * Constructs an AmplifyError.\n *\n * @param message text that describes the main problem.\n * @param underlyingError the underlying cause of the error.\n * @param recoverySuggestion suggestion to recover from the error.\n *\n */\n constructor({ message, name, recoverySuggestion, underlyingError, metadata, }) {\n super(message);\n this.name = name;\n this.underlyingError = underlyingError;\n this.recoverySuggestion = recoverySuggestion;\n if (metadata) {\n // If metadata exists, explicitly only record the following properties.\n const { extendedRequestId, httpStatusCode, requestId } = metadata;\n this.metadata = { extendedRequestId, httpStatusCode, requestId };\n }\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AmplifyError;\n Object.setPrototypeOf(this, AmplifyError.prototype);\n }\n}\n"],"names":[],"mappings":"AAAO,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,GAAG,EAAE;AACnF,QAAQ,KAAK,CAAC,OAAO,CAAC;AACtB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe;AAC9C,QAAQ,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;AACpD,QAAQ,IAAI,QAAQ,EAAE;AACtB;AACA,YAAY,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,QAAQ;AAC7E,YAAY,IAAI,CAAC,QAAQ,GAAG,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE;AAC5E;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,YAAY;AACvC,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;AAC3D;AACA;;;;"}
|
|
@@ -2,12 +2,20 @@ import '../../../types/errors.mjs';
|
|
|
2
2
|
import '../../../errors/errorHelpers.mjs';
|
|
3
3
|
import { getClientInfo } from '../../../utils/getClientInfo/getClientInfo.mjs';
|
|
4
4
|
import '../../../utils/retry/retry.mjs';
|
|
5
|
+
import '../../../parseAWSExports.mjs';
|
|
6
|
+
import { amplifyUuid } from '../../../utils/amplifyUuid/index.mjs';
|
|
7
|
+
import '../../../singleton/Auth/utils/errorHelpers.mjs';
|
|
5
8
|
import '@aws-crypto/sha256-js';
|
|
6
9
|
import '@smithy/util-hex-encoding';
|
|
10
|
+
import '../../../Platform/index.mjs';
|
|
11
|
+
import '../../../Platform/types.mjs';
|
|
12
|
+
import '../../../BackgroundProcessManager/types.mjs';
|
|
13
|
+
import '../../../Reachability/Reachability.mjs';
|
|
14
|
+
import '../../../Hub/index.mjs';
|
|
15
|
+
import '../../../utils/sessionListener/index.mjs';
|
|
7
16
|
import '../../../awsClients/pinpoint/base.mjs';
|
|
8
17
|
import '../../../awsClients/pinpoint/errorHelpers.mjs';
|
|
9
18
|
import { updateEndpoint as updateEndpoint$1 } from '../../../awsClients/pinpoint/updateEndpoint.mjs';
|
|
10
|
-
import { amplifyUuid } from '../../../utils/amplifyUuid/index.mjs';
|
|
11
19
|
import { cacheEndpointId } from '../utils/cacheEndpointId.mjs';
|
|
12
20
|
import { createEndpointId, clearCreatedEndpointId } from '../utils/createEndpointId.mjs';
|
|
13
21
|
import { getEndpointId } from '../utils/getEndpointId.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateEndpoint.mjs","sources":["../../../../../src/providers/pinpoint/apis/updateEndpoint.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { updateEndpoint as clientUpdateEndpoint, } from '../../../awsClients/pinpoint';\nimport { amplifyUuid } from '../../../utils/amplifyUuid';\nimport { getClientInfo } from '../../../utils/getClientInfo';\nimport { cacheEndpointId } from '../utils/cacheEndpointId';\nimport { clearCreatedEndpointId, createEndpointId, } from '../utils/createEndpointId';\nimport { getEndpointId } from '../utils/getEndpointId';\n/**\n * @internal\n */\nexport const updateEndpoint = async ({ address, appId, category, channelType, credentials, identityId, optOut, region, userAttributes, userId, userProfile, userAgentValue, }) => {\n const endpointId = await getEndpointId(appId, category);\n // only generate a new endpoint id if one was not found in cache\n const createdEndpointId = !endpointId\n ? createEndpointId(appId, category)\n : undefined;\n const { customProperties, demographic, email, location, metrics, name, plan, } = userProfile ?? {};\n // only automatically populate the endpoint with client info and identity id upon endpoint creation to\n // avoid overwriting the endpoint with these values every time the endpoint is updated\n const demographicsFromClientInfo = {};\n const resolvedUserId = createdEndpointId ? (userId ?? identityId) : userId;\n if (createdEndpointId) {\n const clientInfo = getClientInfo();\n demographicsFromClientInfo.appVersion = clientInfo.appVersion;\n demographicsFromClientInfo.make = clientInfo.make;\n demographicsFromClientInfo.model = clientInfo.model;\n demographicsFromClientInfo.modelVersion = clientInfo.version;\n demographicsFromClientInfo.platform = clientInfo.platform;\n }\n const mergedDemographic = {\n ...demographicsFromClientInfo,\n ...demographic,\n };\n const attributes = {\n ...(email && { email: [email] }),\n ...(name && { name: [name] }),\n ...(plan && { plan: [plan] }),\n ...customProperties,\n };\n const shouldAddDemographics = createdEndpointId || demographic;\n const shouldAddAttributes = email || customProperties || name || plan;\n const shouldAddUser = resolvedUserId || userAttributes;\n const input = {\n ApplicationId: appId,\n EndpointId: endpointId ?? createdEndpointId,\n EndpointRequest: {\n RequestId: amplifyUuid(),\n EffectiveDate: new Date().toISOString(),\n ChannelType: channelType,\n Address: address,\n ...(shouldAddAttributes && { Attributes: attributes }),\n ...(shouldAddDemographics && {\n Demographic: {\n AppVersion: mergedDemographic.appVersion,\n Locale: mergedDemographic.locale,\n Make: mergedDemographic.make,\n Model: mergedDemographic.model,\n ModelVersion: mergedDemographic.modelVersion,\n Platform: mergedDemographic.platform,\n PlatformVersion: mergedDemographic.platformVersion,\n Timezone: mergedDemographic.timezone,\n },\n }),\n ...(location && {\n Location: {\n City: location.city,\n Country: location.country,\n Latitude: location.latitude,\n Longitude: location.longitude,\n PostalCode: location.postalCode,\n Region: location.region,\n },\n }),\n Metrics: metrics,\n OptOut: optOut,\n ...(shouldAddUser && {\n User: {\n UserId: resolvedUserId,\n UserAttributes: userAttributes,\n },\n }),\n },\n };\n try {\n await clientUpdateEndpoint({ credentials, region, userAgentValue }, input);\n // if we had to create an endpoint id, we need to now cache it\n if (createdEndpointId) {\n await cacheEndpointId(appId, category, createdEndpointId);\n }\n }\n finally {\n // at this point, we completely reset the behavior so even if the update was unsuccessful\n // we can just start over with a newly created endpoint id\n if (createdEndpointId) {\n clearCreatedEndpointId(appId, category);\n }\n }\n};\n"],"names":["clientUpdateEndpoint"],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateEndpoint.mjs","sources":["../../../../../src/providers/pinpoint/apis/updateEndpoint.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { updateEndpoint as clientUpdateEndpoint, } from '../../../awsClients/pinpoint';\nimport { amplifyUuid } from '../../../utils/amplifyUuid';\nimport { getClientInfo } from '../../../utils/getClientInfo';\nimport { cacheEndpointId } from '../utils/cacheEndpointId';\nimport { clearCreatedEndpointId, createEndpointId, } from '../utils/createEndpointId';\nimport { getEndpointId } from '../utils/getEndpointId';\n/**\n * @internal\n */\nexport const updateEndpoint = async ({ address, appId, category, channelType, credentials, identityId, optOut, region, userAttributes, userId, userProfile, userAgentValue, }) => {\n const endpointId = await getEndpointId(appId, category);\n // only generate a new endpoint id if one was not found in cache\n const createdEndpointId = !endpointId\n ? createEndpointId(appId, category)\n : undefined;\n const { customProperties, demographic, email, location, metrics, name, plan, } = userProfile ?? {};\n // only automatically populate the endpoint with client info and identity id upon endpoint creation to\n // avoid overwriting the endpoint with these values every time the endpoint is updated\n const demographicsFromClientInfo = {};\n const resolvedUserId = createdEndpointId ? (userId ?? identityId) : userId;\n if (createdEndpointId) {\n const clientInfo = getClientInfo();\n demographicsFromClientInfo.appVersion = clientInfo.appVersion;\n demographicsFromClientInfo.make = clientInfo.make;\n demographicsFromClientInfo.model = clientInfo.model;\n demographicsFromClientInfo.modelVersion = clientInfo.version;\n demographicsFromClientInfo.platform = clientInfo.platform;\n }\n const mergedDemographic = {\n ...demographicsFromClientInfo,\n ...demographic,\n };\n const attributes = {\n ...(email && { email: [email] }),\n ...(name && { name: [name] }),\n ...(plan && { plan: [plan] }),\n ...customProperties,\n };\n const shouldAddDemographics = createdEndpointId || demographic;\n const shouldAddAttributes = email || customProperties || name || plan;\n const shouldAddUser = resolvedUserId || userAttributes;\n const input = {\n ApplicationId: appId,\n EndpointId: endpointId ?? createdEndpointId,\n EndpointRequest: {\n RequestId: amplifyUuid(),\n EffectiveDate: new Date().toISOString(),\n ChannelType: channelType,\n Address: address,\n ...(shouldAddAttributes && { Attributes: attributes }),\n ...(shouldAddDemographics && {\n Demographic: {\n AppVersion: mergedDemographic.appVersion,\n Locale: mergedDemographic.locale,\n Make: mergedDemographic.make,\n Model: mergedDemographic.model,\n ModelVersion: mergedDemographic.modelVersion,\n Platform: mergedDemographic.platform,\n PlatformVersion: mergedDemographic.platformVersion,\n Timezone: mergedDemographic.timezone,\n },\n }),\n ...(location && {\n Location: {\n City: location.city,\n Country: location.country,\n Latitude: location.latitude,\n Longitude: location.longitude,\n PostalCode: location.postalCode,\n Region: location.region,\n },\n }),\n Metrics: metrics,\n OptOut: optOut,\n ...(shouldAddUser && {\n User: {\n UserId: resolvedUserId,\n UserAttributes: userAttributes,\n },\n }),\n },\n };\n try {\n await clientUpdateEndpoint({ credentials, region, userAgentValue }, input);\n // if we had to create an endpoint id, we need to now cache it\n if (createdEndpointId) {\n await cacheEndpointId(appId, category, createdEndpointId);\n }\n }\n finally {\n // at this point, we completely reset the behavior so even if the update was unsuccessful\n // we can just start over with a newly created endpoint id\n if (createdEndpointId) {\n clearCreatedEndpointId(appId, category);\n }\n }\n};\n"],"names":["clientUpdateEndpoint"],"mappings":"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"}
|
|
@@ -3,8 +3,17 @@ import '../../../types/errors.mjs';
|
|
|
3
3
|
import '../../../errors/errorHelpers.mjs';
|
|
4
4
|
import '../../../utils/getClientInfo/getClientInfo.mjs';
|
|
5
5
|
import '../../../utils/retry/retry.mjs';
|
|
6
|
+
import '../../../parseAWSExports.mjs';
|
|
7
|
+
import 'uuid';
|
|
8
|
+
import '../../../singleton/Auth/utils/errorHelpers.mjs';
|
|
6
9
|
import '@aws-crypto/sha256-js';
|
|
7
10
|
import '@smithy/util-hex-encoding';
|
|
11
|
+
import '../../../Platform/index.mjs';
|
|
12
|
+
import '../../../Platform/types.mjs';
|
|
13
|
+
import '../../../BackgroundProcessManager/types.mjs';
|
|
14
|
+
import '../../../Reachability/Reachability.mjs';
|
|
15
|
+
import '../../../Hub/index.mjs';
|
|
16
|
+
import '../../../utils/sessionListener/index.mjs';
|
|
8
17
|
import '../../../awsClients/pinpoint/base.mjs';
|
|
9
18
|
import { putEvents } from '../../../awsClients/pinpoint/putEvents.mjs';
|
|
10
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinpointEventBuffer.mjs","sources":["../../../../../src/providers/pinpoint/utils/PinpointEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../../../Logger';\nimport { putEvents, } from '../../../awsClients/pinpoint';\nimport { isAppInForeground } from './isAppInForeground';\nconst logger = new ConsoleLogger('PinpointEventBuffer');\nconst RETRYABLE_CODES = [429, 500];\nconst ACCEPTED_CODES = [202];\nexport class PinpointEventBuffer {\n constructor(config) {\n this._interval = undefined;\n this._pause = false;\n this._flush = false;\n this._buffer = [];\n this._config = config;\n this._sendBatch = this._sendBatch.bind(this);\n this._startLoop();\n }\n push(event) {\n if (this._buffer.length >= this._config.bufferSize) {\n logger.debug('Exceeded Pinpoint event buffer limits, event dropped.', {\n eventId: event.eventId,\n });\n return;\n }\n this._buffer.push({ [event.eventId]: event });\n }\n pause() {\n this._pause = true;\n }\n resume() {\n this._pause = false;\n }\n flush() {\n this._flush = true;\n }\n identityHasChanged(identityId) {\n return this._config.identityId !== identityId;\n }\n flushAll() {\n this._putEvents(this._buffer.splice(0, this._buffer.length));\n }\n _startLoop() {\n if (this._interval) {\n clearInterval(this._interval);\n }\n const { flushInterval } = this._config;\n this._interval = setInterval(this._sendBatch, flushInterval);\n }\n _sendBatch() {\n const bufferLength = this._buffer.length;\n if (this._flush && !bufferLength && this._interval) {\n clearInterval(this._interval);\n }\n if (this._pause || !bufferLength || !isAppInForeground()) {\n return;\n }\n const { flushSize } = this._config;\n const batchSize = Math.min(flushSize, bufferLength);\n const bufferSubset = this._buffer.splice(0, batchSize);\n this._putEvents(bufferSubset);\n }\n async _putEvents(buffer) {\n const eventMap = this._bufferToMap(buffer);\n const batchEventParams = this._generateBatchEventParams(eventMap);\n try {\n const { credentials, region, userAgentValue } = this._config;\n const data = await putEvents({\n credentials,\n region,\n userAgentValue,\n }, batchEventParams);\n this._processPutEventsSuccessResponse(data, eventMap);\n }\n catch (err) {\n this._handlePutEventsFailure(err, eventMap);\n }\n }\n _generateBatchEventParams(eventMap) {\n const batchItem = {};\n Object.values(eventMap).forEach(item => {\n const { event, timestamp, endpointId, eventId, session } = item;\n const { name, attributes, metrics } = event;\n batchItem[endpointId] = {\n Endpoint: {\n ...batchItem[endpointId]?.Endpoint,\n },\n Events: {\n ...batchItem[endpointId]?.Events,\n [eventId]: {\n EventType: name,\n Timestamp: new Date(timestamp).toISOString(),\n Attributes: attributes,\n Metrics: metrics,\n Session: session,\n },\n },\n };\n });\n return {\n ApplicationId: this._config.appId,\n EventsRequest: {\n BatchItem: batchItem,\n },\n };\n }\n _handlePutEventsFailure(err, eventMap) {\n logger.debug('putEvents call to Pinpoint failed.', err);\n const statusCode = err.$metadata && err.$metadata.httpStatusCode;\n if (RETRYABLE_CODES.includes(statusCode)) {\n const retryableEvents = Object.values(eventMap);\n this._retry(retryableEvents);\n }\n }\n _processPutEventsSuccessResponse(data, eventMap) {\n const { Results = {} } = data.EventsResponse ?? {};\n const retryableEvents = [];\n Object.entries(Results).forEach(([_, endpointValues]) => {\n const responses = endpointValues.EventsItemResponse ?? {};\n Object.entries(responses).forEach(([eventId, eventValues]) => {\n const eventObject = eventMap[eventId];\n if (!eventObject) {\n return;\n }\n const { StatusCode, Message } = eventValues ?? {};\n if (StatusCode && ACCEPTED_CODES.includes(StatusCode)) {\n return;\n }\n if (StatusCode && RETRYABLE_CODES.includes(StatusCode)) {\n retryableEvents.push(eventObject);\n return;\n }\n const { name } = eventObject.event;\n logger.warn('Pinpoint event failed to send.', {\n eventId,\n name,\n message: Message,\n });\n });\n });\n if (retryableEvents.length) {\n this._retry(retryableEvents);\n }\n }\n _retry(retryableEvents) {\n // retryable events that haven't reached the resendLimit\n const eligibleEvents = [];\n retryableEvents.forEach((bufferedEvent) => {\n const { eventId } = bufferedEvent;\n const { name } = bufferedEvent.event;\n if (bufferedEvent.resendLimit-- > 0) {\n logger.debug('Resending event.', {\n eventId,\n name,\n remainingAttempts: bufferedEvent.resendLimit,\n });\n eligibleEvents.push({ [eventId]: bufferedEvent });\n return;\n }\n logger.debug('No retry attempts remaining for event.', {\n eventId,\n name,\n });\n });\n // add the events to the front of the buffer\n this._buffer.unshift(...eligibleEvents);\n }\n _bufferToMap(buffer) {\n return buffer.reduce((acc, curVal) => {\n const [[key, value]] = Object.entries(curVal);\n acc[key] = value;\n return acc;\n }, {});\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PinpointEventBuffer.mjs","sources":["../../../../../src/providers/pinpoint/utils/PinpointEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '../../../Logger';\nimport { putEvents, } from '../../../awsClients/pinpoint';\nimport { isAppInForeground } from './isAppInForeground';\nconst logger = new ConsoleLogger('PinpointEventBuffer');\nconst RETRYABLE_CODES = [429, 500];\nconst ACCEPTED_CODES = [202];\nexport class PinpointEventBuffer {\n constructor(config) {\n this._interval = undefined;\n this._pause = false;\n this._flush = false;\n this._buffer = [];\n this._config = config;\n this._sendBatch = this._sendBatch.bind(this);\n this._startLoop();\n }\n push(event) {\n if (this._buffer.length >= this._config.bufferSize) {\n logger.debug('Exceeded Pinpoint event buffer limits, event dropped.', {\n eventId: event.eventId,\n });\n return;\n }\n this._buffer.push({ [event.eventId]: event });\n }\n pause() {\n this._pause = true;\n }\n resume() {\n this._pause = false;\n }\n flush() {\n this._flush = true;\n }\n identityHasChanged(identityId) {\n return this._config.identityId !== identityId;\n }\n flushAll() {\n this._putEvents(this._buffer.splice(0, this._buffer.length));\n }\n _startLoop() {\n if (this._interval) {\n clearInterval(this._interval);\n }\n const { flushInterval } = this._config;\n this._interval = setInterval(this._sendBatch, flushInterval);\n }\n _sendBatch() {\n const bufferLength = this._buffer.length;\n if (this._flush && !bufferLength && this._interval) {\n clearInterval(this._interval);\n }\n if (this._pause || !bufferLength || !isAppInForeground()) {\n return;\n }\n const { flushSize } = this._config;\n const batchSize = Math.min(flushSize, bufferLength);\n const bufferSubset = this._buffer.splice(0, batchSize);\n this._putEvents(bufferSubset);\n }\n async _putEvents(buffer) {\n const eventMap = this._bufferToMap(buffer);\n const batchEventParams = this._generateBatchEventParams(eventMap);\n try {\n const { credentials, region, userAgentValue } = this._config;\n const data = await putEvents({\n credentials,\n region,\n userAgentValue,\n }, batchEventParams);\n this._processPutEventsSuccessResponse(data, eventMap);\n }\n catch (err) {\n this._handlePutEventsFailure(err, eventMap);\n }\n }\n _generateBatchEventParams(eventMap) {\n const batchItem = {};\n Object.values(eventMap).forEach(item => {\n const { event, timestamp, endpointId, eventId, session } = item;\n const { name, attributes, metrics } = event;\n batchItem[endpointId] = {\n Endpoint: {\n ...batchItem[endpointId]?.Endpoint,\n },\n Events: {\n ...batchItem[endpointId]?.Events,\n [eventId]: {\n EventType: name,\n Timestamp: new Date(timestamp).toISOString(),\n Attributes: attributes,\n Metrics: metrics,\n Session: session,\n },\n },\n };\n });\n return {\n ApplicationId: this._config.appId,\n EventsRequest: {\n BatchItem: batchItem,\n },\n };\n }\n _handlePutEventsFailure(err, eventMap) {\n logger.debug('putEvents call to Pinpoint failed.', err);\n const statusCode = err.$metadata && err.$metadata.httpStatusCode;\n if (RETRYABLE_CODES.includes(statusCode)) {\n const retryableEvents = Object.values(eventMap);\n this._retry(retryableEvents);\n }\n }\n _processPutEventsSuccessResponse(data, eventMap) {\n const { Results = {} } = data.EventsResponse ?? {};\n const retryableEvents = [];\n Object.entries(Results).forEach(([_, endpointValues]) => {\n const responses = endpointValues.EventsItemResponse ?? {};\n Object.entries(responses).forEach(([eventId, eventValues]) => {\n const eventObject = eventMap[eventId];\n if (!eventObject) {\n return;\n }\n const { StatusCode, Message } = eventValues ?? {};\n if (StatusCode && ACCEPTED_CODES.includes(StatusCode)) {\n return;\n }\n if (StatusCode && RETRYABLE_CODES.includes(StatusCode)) {\n retryableEvents.push(eventObject);\n return;\n }\n const { name } = eventObject.event;\n logger.warn('Pinpoint event failed to send.', {\n eventId,\n name,\n message: Message,\n });\n });\n });\n if (retryableEvents.length) {\n this._retry(retryableEvents);\n }\n }\n _retry(retryableEvents) {\n // retryable events that haven't reached the resendLimit\n const eligibleEvents = [];\n retryableEvents.forEach((bufferedEvent) => {\n const { eventId } = bufferedEvent;\n const { name } = bufferedEvent.event;\n if (bufferedEvent.resendLimit-- > 0) {\n logger.debug('Resending event.', {\n eventId,\n name,\n remainingAttempts: bufferedEvent.resendLimit,\n });\n eligibleEvents.push({ [eventId]: bufferedEvent });\n return;\n }\n logger.debug('No retry attempts remaining for event.', {\n eventId,\n name,\n });\n });\n // add the events to the front of the buffer\n this._buffer.unshift(...eligibleEvents);\n }\n _bufferToMap(buffer) {\n return buffer.reduce((acc, curVal) => {\n const [[key, value]] = Object.entries(curVal);\n acc[key] = value;\n return acc;\n }, {});\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export interface CredentialsAndIdentityIdProvider {
|
|
|
42
42
|
clearCredentialsAndIdentityId(): void;
|
|
43
43
|
}
|
|
44
44
|
export interface TokenProvider {
|
|
45
|
-
getTokens(
|
|
45
|
+
getTokens(options?: {
|
|
46
46
|
forceRefresh?: boolean;
|
|
47
47
|
}): Promise<AuthTokens | null>;
|
|
48
48
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ResponseMetadata as SdkResponseMetadata } from '@aws-sdk/types';
|
|
2
|
+
export type ResponseMetadata = Pick<SdkResponseMetadata, 'extendedRequestId' | 'httpStatusCode' | 'requestId'>;
|
|
1
3
|
export declare enum AmplifyErrorCode {
|
|
2
4
|
NoEndpointId = "NoEndpointId",
|
|
3
5
|
PlatformNotSupported = "PlatformNotSupported",
|
|
@@ -9,6 +11,7 @@ export interface AmplifyErrorParams<ErrorCode extends string = string> {
|
|
|
9
11
|
name: ErrorCode;
|
|
10
12
|
recoverySuggestion?: string;
|
|
11
13
|
underlyingError?: Error | unknown;
|
|
14
|
+
metadata?: ResponseMetadata;
|
|
12
15
|
}
|
|
13
16
|
export type AmplifyErrorMap<ErrorCode extends string = string> = Record<ErrorCode, {
|
|
14
17
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.mjs","sources":["../../../src/types/errors.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"errors.mjs","sources":["../../../src/types/errors.ts"],"sourcesContent":["export var AmplifyErrorCode;\n(function (AmplifyErrorCode) {\n AmplifyErrorCode[\"NoEndpointId\"] = \"NoEndpointId\";\n AmplifyErrorCode[\"PlatformNotSupported\"] = \"PlatformNotSupported\";\n AmplifyErrorCode[\"Unknown\"] = \"Unknown\";\n AmplifyErrorCode[\"NetworkError\"] = \"NetworkError\";\n})(AmplifyErrorCode || (AmplifyErrorCode = {}));\n"],"names":[],"mappings":"AAAU,IAAC;AACX,CAAC,UAAU,gBAAgB,EAAE;AAC7B,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,cAAc;AACrD,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;AACrE,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,SAAS;AAC3C,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,cAAc;AACrD,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/core",
|
|
3
|
-
"version": "6.10.
|
|
3
|
+
"version": "6.10.7-unstable.b188564.0+b188564",
|
|
4
4
|
"description": "Core category of aws-amplify",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.mjs",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"uuid": "^9.0.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@aws-amplify/react-native": "1.1.
|
|
63
|
+
"@aws-amplify/react-native": "1.1.8-unstable.b188564.0+b188564",
|
|
64
64
|
"@types/js-cookie": "3.0.2",
|
|
65
65
|
"genversion": "^2.2.0",
|
|
66
66
|
"typescript": "5.0.2"
|
|
@@ -70,25 +70,25 @@
|
|
|
70
70
|
"name": "Core (Hub)",
|
|
71
71
|
"path": "./dist/esm/index.mjs",
|
|
72
72
|
"import": "{ Hub }",
|
|
73
|
-
"limit": "1.
|
|
73
|
+
"limit": "1.46 kB"
|
|
74
74
|
},
|
|
75
75
|
{
|
|
76
76
|
"name": "Core (I18n)",
|
|
77
77
|
"path": "./dist/esm/index.mjs",
|
|
78
78
|
"import": "{ I18n }",
|
|
79
|
-
"limit": "1.
|
|
79
|
+
"limit": "1.51 kB"
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
"name": "Custom clients (fetch handler)",
|
|
83
83
|
"path": "./dist/esm/clients/handlers/fetch.mjs",
|
|
84
84
|
"import": "{ fetchTransferHandler }",
|
|
85
|
-
"limit": "
|
|
85
|
+
"limit": "900 B"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
"name": "Custom clients (unauthenticated handler)",
|
|
89
|
-
"path": "./dist/esm/clients/handlers/unauthenticated.mjs",
|
|
89
|
+
"path": "./dist/esm/clients/handlers/aws/unauthenticated.mjs",
|
|
90
90
|
"import": "{ unauthenticatedHandler }",
|
|
91
|
-
"limit": "
|
|
91
|
+
"limit": "4.09 kB"
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"name": "Custom clients (request signer)",
|
|
@@ -192,5 +192,5 @@
|
|
|
192
192
|
]
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
|
-
"gitHead": "
|
|
195
|
+
"gitHead": "b1885648589e0549c0e7c257e8be5fb4936d5bde"
|
|
196
196
|
}
|
package/src/Platform/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by genversion
|
|
2
|
-
export const version = '6.13.
|
|
2
|
+
export const version = '6.13.7-unstable.b188564.0+b188564';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { authenticatedHandler } from '../../clients/handlers/authenticated';
|
|
4
|
+
import { authenticatedHandler } from '../../clients/handlers/aws/authenticated';
|
|
5
5
|
import { composeServiceApi } from '../../clients/internal/composeServiceApi';
|
|
6
6
|
import { extendedEncodeURIComponent } from '../../clients/middleware/signing/utils/extendedEncodeURIComponent';
|
|
7
7
|
import {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { authenticatedHandler } from '../../clients/handlers/authenticated';
|
|
4
|
+
import { authenticatedHandler } from '../../clients/handlers/aws/authenticated';
|
|
5
5
|
import { composeServiceApi } from '../../clients/internal/composeServiceApi';
|
|
6
6
|
import { extendedEncodeURIComponent } from '../../clients/middleware/signing/utils/extendedEncodeURIComponent';
|
|
7
7
|
import {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import { authenticatedHandler } from '../../clients/handlers/authenticated';
|
|
4
|
+
import { authenticatedHandler } from '../../clients/handlers/aws/authenticated';
|
|
5
5
|
import { composeServiceApi } from '../../clients/internal/composeServiceApi';
|
|
6
6
|
import { extendedEncodeURIComponent } from '../../clients/middleware/signing/utils/extendedEncodeURIComponent';
|
|
7
7
|
import {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import {
|
|
4
|
+
AmzSdkRequestHeaderMiddlewareOptions,
|
|
5
|
+
RetryOptions,
|
|
6
|
+
amzSdkInvocationIdHeaderMiddlewareFactory,
|
|
7
|
+
amzSdkRequestHeaderMiddlewareFactory,
|
|
8
|
+
retryMiddlewareFactory,
|
|
9
|
+
} from '../../middleware/retry';
|
|
10
|
+
import {
|
|
11
|
+
SigningOptions,
|
|
12
|
+
signingMiddlewareFactory,
|
|
13
|
+
} from '../../middleware/signing';
|
|
14
|
+
import {
|
|
15
|
+
UserAgentOptions,
|
|
16
|
+
userAgentMiddlewareFactory,
|
|
17
|
+
} from '../../middleware/userAgent';
|
|
18
|
+
import { composeTransferHandler } from '../../internal/composeTransferHandler';
|
|
19
|
+
import { HttpRequest, HttpResponse } from '../../types';
|
|
20
|
+
import { fetchTransferHandler } from '../fetch';
|
|
21
|
+
|
|
22
|
+
export const authenticatedHandler = composeTransferHandler<
|
|
23
|
+
[
|
|
24
|
+
UserAgentOptions,
|
|
25
|
+
object,
|
|
26
|
+
RetryOptions<HttpResponse>,
|
|
27
|
+
AmzSdkRequestHeaderMiddlewareOptions,
|
|
28
|
+
SigningOptions,
|
|
29
|
+
],
|
|
30
|
+
HttpRequest,
|
|
31
|
+
HttpResponse,
|
|
32
|
+
typeof fetchTransferHandler
|
|
33
|
+
>(fetchTransferHandler, [
|
|
34
|
+
userAgentMiddlewareFactory,
|
|
35
|
+
amzSdkInvocationIdHeaderMiddlewareFactory,
|
|
36
|
+
retryMiddlewareFactory,
|
|
37
|
+
amzSdkRequestHeaderMiddlewareFactory,
|
|
38
|
+
signingMiddlewareFactory,
|
|
39
|
+
]);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
AmzSdkRequestHeaderMiddlewareOptions,
|
|
6
|
+
RetryOptions,
|
|
7
|
+
amzSdkInvocationIdHeaderMiddlewareFactory,
|
|
8
|
+
amzSdkRequestHeaderMiddlewareFactory,
|
|
9
|
+
retryMiddlewareFactory,
|
|
10
|
+
} from '../../middleware/retry';
|
|
11
|
+
import {
|
|
12
|
+
UserAgentOptions,
|
|
13
|
+
userAgentMiddlewareFactory,
|
|
14
|
+
} from '../../middleware/userAgent';
|
|
15
|
+
import { composeTransferHandler } from '../../internal/composeTransferHandler';
|
|
16
|
+
import { HttpRequest, HttpResponse } from '../../types';
|
|
17
|
+
import { fetchTransferHandler } from '../fetch';
|
|
18
|
+
|
|
19
|
+
export const unauthenticatedHandler = composeTransferHandler<
|
|
20
|
+
[
|
|
21
|
+
UserAgentOptions,
|
|
22
|
+
object,
|
|
23
|
+
RetryOptions<HttpResponse>,
|
|
24
|
+
AmzSdkRequestHeaderMiddlewareOptions,
|
|
25
|
+
],
|
|
26
|
+
HttpRequest,
|
|
27
|
+
HttpResponse,
|
|
28
|
+
typeof fetchTransferHandler
|
|
29
|
+
>(fetchTransferHandler, [
|
|
30
|
+
userAgentMiddlewareFactory,
|
|
31
|
+
amzSdkInvocationIdHeaderMiddlewareFactory,
|
|
32
|
+
retryMiddlewareFactory,
|
|
33
|
+
amzSdkRequestHeaderMiddlewareFactory,
|
|
34
|
+
]);
|
package/src/clients/index.ts
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
export { getDnsSuffix } from './endpoints';
|
|
5
5
|
|
|
6
6
|
export { fetchTransferHandler } from './handlers/fetch';
|
|
7
|
-
export { unauthenticatedHandler } from './handlers/unauthenticated';
|
|
8
|
-
export { authenticatedHandler } from './handlers/authenticated';
|
|
7
|
+
export { unauthenticatedHandler } from './handlers/aws/unauthenticated';
|
|
8
|
+
export { authenticatedHandler } from './handlers/aws/authenticated';
|
|
9
9
|
export {
|
|
10
10
|
getHashedPayload,
|
|
11
11
|
presignUrl,
|
|
12
|
-
PresignUrlOptions,
|
|
13
12
|
signRequest,
|
|
13
|
+
PresignUrlOptions,
|
|
14
14
|
SignRequestOptions,
|
|
15
15
|
} from './middleware/signing/signer/signatureV4';
|
|
16
16
|
export { EMPTY_HASH as EMPTY_SHA256_HASH } from './middleware/signing/signer/signatureV4/constants';
|
|
@@ -22,10 +22,13 @@ export {
|
|
|
22
22
|
} from './middleware/signing';
|
|
23
23
|
export {
|
|
24
24
|
getRetryDecider,
|
|
25
|
-
RetryDeciderOutput,
|
|
26
25
|
jitteredBackoff,
|
|
27
26
|
retryMiddlewareFactory,
|
|
27
|
+
amzSdkInvocationIdHeaderMiddlewareFactory,
|
|
28
|
+
amzSdkRequestHeaderMiddlewareFactory,
|
|
29
|
+
RetryDeciderOutput,
|
|
28
30
|
RetryOptions,
|
|
31
|
+
AmzSdkRequestHeaderMiddlewareOptions,
|
|
29
32
|
} from './middleware/retry';
|
|
30
33
|
export {
|
|
31
34
|
userAgentMiddlewareFactory,
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { HttpRequest, HttpResponse, Middleware } from '../../types';
|
|
5
|
+
import { amplifyUuid } from '../../../libraryUtils';
|
|
6
|
+
|
|
7
|
+
import { AMZ_SDK_INVOCATION_ID_HEADER } from './constants';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Middleware injects a UUID string to `amz-sdk-invocation-id` header.
|
|
11
|
+
* if the header is not set already. This header is helpful to provide
|
|
12
|
+
* observability to group the requests caused by automatic retry.
|
|
13
|
+
*
|
|
14
|
+
* This middleware is standalone because of extra UUID dependency, we will
|
|
15
|
+
* NOT use this middleware for API categories.
|
|
16
|
+
*
|
|
17
|
+
* Ref: https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/1.0.9/http-client/aws.smithy.kotlin.runtime.http.operation/-http-operation-context/-sdk-invocation-id.html
|
|
18
|
+
*/
|
|
19
|
+
export const amzSdkInvocationIdHeaderMiddlewareFactory: Middleware<
|
|
20
|
+
HttpRequest,
|
|
21
|
+
HttpResponse,
|
|
22
|
+
object
|
|
23
|
+
> = () => next => {
|
|
24
|
+
return async function amzSdkInvocationIdHeaderMiddleware(request) {
|
|
25
|
+
if (!request.headers[AMZ_SDK_INVOCATION_ID_HEADER]) {
|
|
26
|
+
request.headers[AMZ_SDK_INVOCATION_ID_HEADER] = amplifyUuid();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return next(request);
|
|
30
|
+
};
|
|
31
|
+
};
|