@aws-amplify/api-rest 4.0.1-console-preview.3d7f188.0 → 4.0.1-mjs-test.20ead30.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/apis/common/handler.js +75 -0
- package/dist/cjs/apis/common/handler.js.map +1 -0
- package/{lib → dist/cjs}/apis/common/internalPost.js +21 -19
- package/dist/cjs/apis/common/internalPost.js.map +1 -0
- package/dist/cjs/apis/common/publicApis.js +46 -0
- package/dist/cjs/apis/common/publicApis.js.map +1 -0
- package/{lib → dist/cjs}/apis/index.js +11 -17
- package/dist/cjs/apis/index.js.map +1 -0
- package/{lib → dist/cjs}/apis/server.js +11 -21
- package/dist/cjs/apis/server.js.map +1 -0
- package/{lib → dist/cjs}/errors/CanceledError.js +15 -16
- package/dist/cjs/errors/CanceledError.js.map +1 -0
- package/dist/cjs/errors/RestApiError.js +17 -0
- package/dist/cjs/errors/RestApiError.js.map +1 -0
- package/{lib → dist/cjs}/errors/assertValidatonError.js +7 -5
- package/dist/cjs/errors/assertValidatonError.js.map +1 -0
- package/{lib → dist/cjs}/errors/index.js +3 -1
- package/dist/cjs/errors/index.js.map +1 -0
- package/{lib → dist/cjs}/errors/validation.js +7 -6
- package/dist/cjs/errors/validation.js.map +1 -0
- package/{lib → dist/cjs}/index.js +3 -1
- package/dist/cjs/index.js.map +1 -0
- package/{lib → dist/cjs}/internals/index.js +6 -4
- package/dist/cjs/internals/index.js.map +1 -0
- package/{lib → dist/cjs}/internals/server.js +6 -4
- package/dist/cjs/internals/server.js.map +1 -0
- package/{lib → dist/cjs}/server.js +3 -1
- package/dist/cjs/server.js.map +1 -0
- package/{lib → dist/cjs}/types/index.js +3 -1
- package/dist/cjs/types/index.js.map +1 -0
- package/{lib → dist/cjs}/utils/constants.js +3 -1
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/createCancellableOperation.js +65 -0
- package/dist/cjs/utils/createCancellableOperation.js.map +1 -0
- package/{lib → dist/cjs}/utils/index.js +3 -1
- package/dist/cjs/utils/index.js.map +1 -0
- package/{lib → dist/cjs}/utils/logger.js +4 -2
- package/dist/cjs/utils/logger.js.map +1 -0
- package/{lib → dist/cjs}/utils/normalizeHeaders.js +6 -4
- package/dist/cjs/utils/normalizeHeaders.js.map +1 -0
- package/dist/cjs/utils/parseSigningInfo.js +43 -0
- package/dist/cjs/utils/parseSigningInfo.js.map +1 -0
- package/dist/cjs/utils/resolveApiUrl.js +42 -0
- package/dist/cjs/utils/resolveApiUrl.js.map +1 -0
- package/dist/cjs/utils/resolveCredentials.js +17 -0
- package/dist/cjs/utils/resolveCredentials.js.map +1 -0
- package/dist/cjs/utils/serviceError.js +32 -0
- package/dist/cjs/utils/serviceError.js.map +1 -0
- package/{lib-esm → dist/esm}/apis/common/handler.d.ts +1 -5
- package/dist/esm/apis/common/handler.mjs +78 -0
- package/dist/esm/apis/common/handler.mjs.map +1 -0
- package/{lib-esm/apis/common/internalPost.js → dist/esm/apis/common/internalPost.mjs} +26 -18
- package/dist/esm/apis/common/internalPost.mjs.map +1 -0
- package/dist/esm/apis/common/publicApis.mjs +45 -0
- package/dist/esm/apis/common/publicApis.mjs.map +1 -0
- package/{lib-esm/apis/index.js → dist/esm/apis/index.mjs} +12 -16
- package/dist/esm/apis/index.mjs.map +1 -0
- package/{lib-esm/apis/server.js → dist/esm/apis/server.mjs} +12 -20
- package/dist/esm/apis/server.mjs.map +1 -0
- package/dist/esm/errors/CanceledError.mjs +31 -0
- package/dist/esm/errors/CanceledError.mjs.map +1 -0
- package/dist/esm/errors/RestApiError.mjs +15 -0
- package/dist/esm/errors/RestApiError.mjs.map +1 -0
- package/dist/esm/errors/assertValidatonError.mjs +17 -0
- package/dist/esm/errors/assertValidatonError.mjs.map +1 -0
- package/dist/esm/errors/index.mjs +5 -0
- package/dist/esm/errors/index.mjs.map +1 -0
- package/{lib-esm/errors/validation.js → dist/esm/errors/validation.mjs} +8 -6
- package/dist/esm/errors/validation.mjs.map +1 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +1 -0
- package/{lib-esm/internals/index.js → dist/esm/internals/index.mjs} +9 -5
- package/dist/esm/internals/index.mjs.map +1 -0
- package/{lib-esm/internals/server.js → dist/esm/internals/server.mjs} +9 -5
- package/dist/esm/internals/server.mjs.map +1 -0
- package/dist/esm/server.mjs +3 -0
- package/dist/esm/server.mjs.map +1 -0
- package/dist/esm/types/index.mjs +2 -0
- package/dist/esm/types/index.mjs.map +1 -0
- package/dist/esm/utils/constants.mjs +13 -0
- package/dist/esm/utils/constants.mjs.map +1 -0
- package/dist/esm/utils/createCancellableOperation.mjs +65 -0
- package/dist/esm/utils/createCancellableOperation.mjs.map +1 -0
- package/dist/esm/utils/index.mjs +7 -0
- package/dist/esm/utils/index.mjs.map +1 -0
- package/{lib-esm/utils/logger.js → dist/esm/utils/logger.mjs} +6 -2
- package/dist/esm/utils/logger.mjs.map +1 -0
- package/{lib-esm/utils/normalizeHeaders.js → dist/esm/utils/normalizeHeaders.mjs} +6 -3
- package/dist/esm/utils/normalizeHeaders.mjs.map +1 -0
- package/dist/esm/utils/parseSigningInfo.mjs +41 -0
- package/dist/esm/utils/parseSigningInfo.mjs.map +1 -0
- package/dist/esm/utils/resolveApiUrl.mjs +42 -0
- package/dist/esm/utils/resolveApiUrl.mjs.map +1 -0
- package/{lib → dist/esm}/utils/resolveCredentials.d.ts +1 -1
- package/dist/esm/utils/resolveCredentials.mjs +17 -0
- package/dist/esm/utils/resolveCredentials.mjs.map +1 -0
- package/dist/esm/utils/serviceError.mjs +30 -0
- package/dist/esm/utils/serviceError.mjs.map +1 -0
- package/internals/package.json +4 -4
- package/internals/server/package.json +3 -4
- package/package.json +63 -26
- package/server/package.json +3 -4
- package/lib/apis/common/handler.d.ts +0 -31
- package/lib/apis/common/handler.js +0 -79
- package/lib/apis/common/internalPost.d.ts +0 -16
- package/lib/apis/common/publicApis.d.ts +0 -8
- package/lib/apis/common/publicApis.js +0 -50
- package/lib/apis/index.d.ts +0 -203
- package/lib/apis/server.d.ts +0 -151
- package/lib/errors/CanceledError.d.ts +0 -17
- package/lib/errors/RestApiError.d.ts +0 -4
- package/lib/errors/RestApiError.js +0 -19
- package/lib/errors/assertValidatonError.d.ts +0 -5
- package/lib/errors/index.d.ts +0 -4
- package/lib/errors/validation.d.ts +0 -6
- package/lib/index.d.ts +0 -2
- package/lib/internals/index.d.ts +0 -19
- package/lib/internals/server.d.ts +0 -20
- package/lib/server.d.ts +0 -2
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/index.d.ts +0 -103
- package/lib/utils/constants.d.ts +0 -8
- package/lib/utils/createCancellableOperation.d.ts +0 -12
- package/lib/utils/createCancellableOperation.js +0 -70
- package/lib/utils/index.d.ts +0 -6
- package/lib/utils/logger.d.ts +0 -2
- package/lib/utils/normalizeHeaders.d.ts +0 -1
- package/lib/utils/parseSigningInfo.d.ts +0 -14
- package/lib/utils/parseSigningInfo.js +0 -42
- package/lib/utils/resolveApiUrl.d.ts +0 -12
- package/lib/utils/resolveApiUrl.js +0 -39
- package/lib/utils/resolveCredentials.js +0 -23
- package/lib/utils/serviceError.d.ts +0 -10
- package/lib/utils/serviceError.js +0 -38
- package/lib-esm/apis/common/handler.js +0 -75
- package/lib-esm/apis/common/publicApis.js +0 -41
- package/lib-esm/errors/CanceledError.js +0 -31
- package/lib-esm/errors/RestApiError.js +0 -16
- package/lib-esm/errors/assertValidatonError.js +0 -13
- package/lib-esm/errors/index.js +0 -6
- package/lib-esm/index.js +0 -4
- package/lib-esm/server.js +0 -4
- package/lib-esm/tsconfig.tsbuildinfo +0 -1
- package/lib-esm/types/index.js +0 -1
- package/lib-esm/utils/constants.js +0 -10
- package/lib-esm/utils/createCancellableOperation.js +0 -66
- package/lib-esm/utils/index.js +0 -8
- package/lib-esm/utils/parseSigningInfo.js +0 -38
- package/lib-esm/utils/resolveApiUrl.js +0 -35
- package/lib-esm/utils/resolveCredentials.d.ts +0 -5
- package/lib-esm/utils/resolveCredentials.js +0 -19
- package/lib-esm/utils/serviceError.js +0 -33
- /package/{lib-esm → dist/esm}/apis/common/internalPost.d.ts +0 -0
- /package/{lib-esm → dist/esm}/apis/common/publicApis.d.ts +0 -0
- /package/{lib-esm → dist/esm}/apis/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/apis/server.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/CanceledError.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/RestApiError.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/assertValidatonError.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/errors/validation.d.ts +0 -0
- /package/{lib-esm → dist/esm}/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/internals/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/internals/server.d.ts +0 -0
- /package/{lib-esm → dist/esm}/server.d.ts +0 -0
- /package/{lib-esm → dist/esm}/types/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/constants.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/createCancellableOperation.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/index.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/logger.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/normalizeHeaders.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/parseSigningInfo.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/resolveApiUrl.d.ts +0 -0
- /package/{lib-esm → dist/esm}/utils/serviceError.d.ts +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.updateRequestToBeCancellable = exports.cancel = exports.post = void 0;
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
6
|
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
8
|
+
const internalPost_1 = require("../apis/common/internalPost");
|
|
8
9
|
/**
|
|
9
10
|
* Internal-only REST POST handler to send GraphQL request to given endpoint. By default, it will use IAM to authorize
|
|
10
11
|
* the request. In some auth modes, the IAM auth has to be disabled. Here's how to set up the request auth correctly:
|
|
@@ -21,10 +22,11 @@ var internalPost_1 = require("../apis/common/internalPost");
|
|
|
21
22
|
*
|
|
22
23
|
* @internal
|
|
23
24
|
*/
|
|
24
|
-
|
|
25
|
+
const post = (input) => {
|
|
25
26
|
return (0, internalPost_1.post)(core_1.Amplify, input);
|
|
26
27
|
};
|
|
27
28
|
exports.post = post;
|
|
28
29
|
var internalPost_2 = require("../apis/common/internalPost");
|
|
29
30
|
Object.defineProperty(exports, "cancel", { enumerable: true, get: function () { return internalPost_2.cancel; } });
|
|
30
31
|
Object.defineProperty(exports, "updateRequestToBeCancellable", { enumerable: true, get: function () { return internalPost_2.updateRequestToBeCancellable; } });
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/internals/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateRequestToBeCancellable = exports.cancel = exports.post = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst core_1 = require(\"@aws-amplify/core\");\nconst internalPost_1 = require(\"../apis/common/internalPost\");\n/**\n * Internal-only REST POST handler to send GraphQL request to given endpoint. By default, it will use IAM to authorize\n * the request. In some auth modes, the IAM auth has to be disabled. Here's how to set up the request auth correctly:\n * * If auth mode is 'iam', you MUST NOT set 'authorization' header and 'x-api-key' header, since it would disable IAM\n * auth. You MUST also set 'input.options.signingServiceInfo' option.\n * * The including 'input.options.signingServiceInfo.service' and 'input.options.signingServiceInfo.region' are\n * optional. If omitted, the signing service and region will be inferred from url.\n * * If auth mode is 'none', you MUST NOT set 'options.signingServiceInfo' option.\n * * If auth mode is 'apiKey', you MUST set 'x-api-key' custom header.\n * * If auth mode is 'oidc' or 'lambda' or 'userPool', you MUST set 'authorization' header.\n *\n * To make the internal post cancellable, you must also call `updateRequestToBeCancellable()` with the promise from\n * internal post call and the abort controller supplied to the internal post call.\n *\n * @internal\n */\nconst post = (input) => {\n return (0, internalPost_1.post)(core_1.Amplify, input);\n};\nexports.post = post;\nvar internalPost_2 = require(\"../apis/common/internalPost\");\nObject.defineProperty(exports, \"cancel\", { enumerable: true, get: function () { return internalPost_2.cancel; } });\nObject.defineProperty(exports, \"updateRequestToBeCancellable\", { enumerable: true, get: function () { return internalPost_2.updateRequestToBeCancellable; } });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AAC9E;AACA;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK;AACxB,IAAI,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC;AACF,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,IAAI,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC5D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AACnH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.updateRequestToBeCancellable = exports.cancel = exports.post = void 0;
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
6
|
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
const adapter_core_1 = require("@aws-amplify/core/internals/adapter-core");
|
|
8
|
+
const internalPost_1 = require("../apis/common/internalPost");
|
|
8
9
|
/**
|
|
9
10
|
* Internal-only REST POST handler to send GraphQL request to given endpoint. By default, it will use IAM to authorize
|
|
10
11
|
* the request. In some auth modes, the IAM auth has to be disabled. Here's how to set up the request auth correctly:
|
|
@@ -21,10 +22,11 @@ var internalPost_1 = require("../apis/common/internalPost");
|
|
|
21
22
|
*
|
|
22
23
|
* @internal
|
|
23
24
|
*/
|
|
24
|
-
|
|
25
|
+
const post = (contextSpec, input) => {
|
|
25
26
|
return (0, internalPost_1.post)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);
|
|
26
27
|
};
|
|
27
28
|
exports.post = post;
|
|
28
29
|
var internalPost_2 = require("../apis/common/internalPost");
|
|
29
30
|
Object.defineProperty(exports, "cancel", { enumerable: true, get: function () { return internalPost_2.cancel; } });
|
|
30
31
|
Object.defineProperty(exports, "updateRequestToBeCancellable", { enumerable: true, get: function () { return internalPost_2.updateRequestToBeCancellable; } });
|
|
32
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../../src/internals/server.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateRequestToBeCancellable = exports.cancel = exports.post = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst adapter_core_1 = require(\"@aws-amplify/core/internals/adapter-core\");\nconst internalPost_1 = require(\"../apis/common/internalPost\");\n/**\n * Internal-only REST POST handler to send GraphQL request to given endpoint. By default, it will use IAM to authorize\n * the request. In some auth modes, the IAM auth has to be disabled. Here's how to set up the request auth correctly:\n * * If auth mode is 'iam', you MUST NOT set 'authorization' header and 'x-api-key' header, since it would disable IAM\n * auth. You MUST also set 'input.options.signingServiceInfo' option.\n * * The including 'input.options.signingServiceInfo.service' and 'input.options.signingServiceInfo.region' are\n * optional. If omitted, the signing service and region will be inferred from url.\n * * If auth mode is 'none', you MUST NOT set 'options.signingServiceInfo' option.\n * * If auth mode is 'apiKey', you MUST set 'x-api-key' custom header.\n * * If auth mode is 'oidc' or 'lambda' or 'userPool', you MUST set 'authorization' header.\n *\n * To make the internal post cancellable, you must also call `updateRequestToBeCancellable()` with the promise from\n * internal post call and the abort controller supplied to the internal post call.\n *\n * @internal\n */\nconst post = (contextSpec, input) => {\n return (0, internalPost_1.post)((0, adapter_core_1.getAmplifyServerContext)(contextSpec).amplify, input);\n};\nexports.post = post;\nvar internalPost_2 = require(\"../apis/common/internalPost\");\nObject.defineProperty(exports, \"cancel\", { enumerable: true, get: function () { return internalPost_2.cancel; } });\nObject.defineProperty(exports, \"updateRequestToBeCancellable\", { enumerable: true, get: function () { return internalPost_2.updateRequestToBeCancellable; } });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,4BAA4B,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AAC9E;AACA;AACA,MAAM,cAAc,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK;AACrC,IAAI,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC7G,CAAC,CAAC;AACF,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;AACpB,IAAI,cAAc,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;AAC5D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AACnH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,4BAA4B,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -12,3 +13,4 @@ Object.defineProperty(exports, "put", { enumerable: true, get: function () { ret
|
|
|
12
13
|
Object.defineProperty(exports, "del", { enumerable: true, get: function () { return server_1.del; } });
|
|
13
14
|
Object.defineProperty(exports, "head", { enumerable: true, get: function () { return server_1.head; } });
|
|
14
15
|
Object.defineProperty(exports, "patch", { enumerable: true, get: function () { return server_1.patch; } });
|
|
16
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../src/server.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.patch = exports.head = exports.del = exports.put = exports.post = exports.get = exports.isCancelError = void 0;\nvar CanceledError_1 = require(\"./errors/CanceledError\");\nObject.defineProperty(exports, \"isCancelError\", { enumerable: true, get: function () { return CanceledError_1.isCancelError; } });\nvar server_1 = require(\"./apis/server\");\nObject.defineProperty(exports, \"get\", { enumerable: true, get: function () { return server_1.get; } });\nObject.defineProperty(exports, \"post\", { enumerable: true, get: function () { return server_1.post; } });\nObject.defineProperty(exports, \"put\", { enumerable: true, get: function () { return server_1.put; } });\nObject.defineProperty(exports, \"del\", { enumerable: true, get: function () { return server_1.del; } });\nObject.defineProperty(exports, \"head\", { enumerable: true, get: function () { return server_1.head; } });\nObject.defineProperty(exports, \"patch\", { enumerable: true, get: function () { return server_1.patch; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AACvH,IAAI,eAAe,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACxD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;AAClI,IAAI,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACvG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACzG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACvG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACvG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACzG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/types/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -11,3 +12,4 @@ exports.DEFAULT_IAM_SIGNING_REGION = 'us-east-1';
|
|
|
11
12
|
* @see {@link https://docs.aws.amazon.com/general/latest/gr/apigateway.html#apigateway_region_data_plane}
|
|
12
13
|
*/
|
|
13
14
|
exports.APIG_HOSTNAME_PATTERN = /^.+\.([a-z0-9-]+)\.([a-z0-9-]+)\.amazonaws\.com/;
|
|
15
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/utils/constants.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.APIG_HOSTNAME_PATTERN = exports.DEFAULT_IAM_SIGNING_REGION = exports.DEFAULT_APPSYNC_API_SERVICE = exports.DEFAULT_REST_IAM_SIGNING_SERVICE = void 0;\nexports.DEFAULT_REST_IAM_SIGNING_SERVICE = 'execute-api';\nexports.DEFAULT_APPSYNC_API_SERVICE = 'appsync-api';\nexports.DEFAULT_IAM_SIGNING_REGION = 'us-east-1';\n/**\n * The REST endpoints generated by API Gateway\n * @see {@link https://docs.aws.amazon.com/general/latest/gr/apigateway.html#apigateway_region_data_plane}\n */\nexports.APIG_HOSTNAME_PATTERN = /^.+\\.([a-z0-9-]+)\\.([a-z0-9-]+)\\.amazonaws\\.com/;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,gCAAgC,GAAG,KAAK,CAAC,CAAC;AAC7J,OAAO,CAAC,gCAAgC,GAAG,aAAa,CAAC;AACzD,OAAO,CAAC,2BAA2B,GAAG,aAAa,CAAC;AACpD,OAAO,CAAC,0BAA0B,GAAG,WAAW,CAAC;AACjD;AACA;AACA;AACA;AACA,OAAO,CAAC,qBAAqB,GAAG,iDAAiD;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createCancellableOperation = void 0;
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const serviceError_1 = require("./serviceError");
|
|
9
|
+
const logger_1 = require("./logger");
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
function createCancellableOperation(handler, abortController) {
|
|
14
|
+
const isInternalPost = (handler) => !!abortController;
|
|
15
|
+
// For creating a cancellable operation for public REST APIs, we need to create an AbortController
|
|
16
|
+
// internally. Whereas for internal POST APIs, we need to accept in the AbortController from the
|
|
17
|
+
// callers.
|
|
18
|
+
const publicApisAbortController = new AbortController();
|
|
19
|
+
const publicApisAbortSignal = publicApisAbortController.signal;
|
|
20
|
+
const internalPostAbortSignal = abortController?.signal;
|
|
21
|
+
const job = async () => {
|
|
22
|
+
try {
|
|
23
|
+
const response = await (isInternalPost(handler)
|
|
24
|
+
? handler()
|
|
25
|
+
: handler(publicApisAbortSignal));
|
|
26
|
+
if (response.statusCode >= 300) {
|
|
27
|
+
throw await (0, serviceError_1.parseRestApiServiceError)(response);
|
|
28
|
+
}
|
|
29
|
+
return response;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
const abortSignal = internalPostAbortSignal ?? publicApisAbortSignal;
|
|
33
|
+
if (error.name === 'AbortError' || abortSignal?.aborted === true) {
|
|
34
|
+
const canceledError = new errors_1.CanceledError({
|
|
35
|
+
...(abortSignal.reason ? { message: abortSignal.reason } : undefined),
|
|
36
|
+
underlyingError: error,
|
|
37
|
+
});
|
|
38
|
+
logger_1.logger.debug(error);
|
|
39
|
+
throw canceledError;
|
|
40
|
+
}
|
|
41
|
+
logger_1.logger.debug(error);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
if (isInternalPost()) {
|
|
46
|
+
return job();
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const cancel = (abortMessage) => {
|
|
50
|
+
if (publicApisAbortSignal.aborted === true) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
publicApisAbortController.abort(abortMessage);
|
|
54
|
+
// Abort reason is not widely support enough across runtimes and and browsers, so we set it
|
|
55
|
+
// if it is not already set.
|
|
56
|
+
if (abortMessage && publicApisAbortSignal.reason !== abortMessage) {
|
|
57
|
+
publicApisAbortSignal['reason'] =
|
|
58
|
+
abortMessage;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return { response: job(), cancel };
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.createCancellableOperation = createCancellableOperation;
|
|
65
|
+
//# sourceMappingURL=createCancellableOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCancellableOperation.js","sources":["../../../src/utils/createCancellableOperation.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createCancellableOperation = void 0;\nconst errors_1 = require(\"../errors\");\nconst serviceError_1 = require(\"./serviceError\");\nconst logger_1 = require(\"./logger\");\n/**\n * @internal\n */\nfunction createCancellableOperation(handler, abortController) {\n const isInternalPost = (handler) => !!abortController;\n // For creating a cancellable operation for public REST APIs, we need to create an AbortController\n // internally. Whereas for internal POST APIs, we need to accept in the AbortController from the\n // callers.\n const publicApisAbortController = new AbortController();\n const publicApisAbortSignal = publicApisAbortController.signal;\n const internalPostAbortSignal = abortController?.signal;\n const job = async () => {\n try {\n const response = await (isInternalPost(handler)\n ? handler()\n : handler(publicApisAbortSignal));\n if (response.statusCode >= 300) {\n throw await (0, serviceError_1.parseRestApiServiceError)(response);\n }\n return response;\n }\n catch (error) {\n const abortSignal = internalPostAbortSignal ?? publicApisAbortSignal;\n if (error.name === 'AbortError' || abortSignal?.aborted === true) {\n const canceledError = new errors_1.CanceledError({\n ...(abortSignal.reason ? { message: abortSignal.reason } : undefined),\n underlyingError: error,\n });\n logger_1.logger.debug(error);\n throw canceledError;\n }\n logger_1.logger.debug(error);\n throw error;\n }\n };\n if (isInternalPost(handler)) {\n return job();\n }\n else {\n const cancel = (abortMessage) => {\n if (publicApisAbortSignal.aborted === true) {\n return;\n }\n publicApisAbortController.abort(abortMessage);\n // Abort reason is not widely support enough across runtimes and and browsers, so we set it\n // if it is not already set.\n if (abortMessage && publicApisAbortSignal.reason !== abortMessage) {\n publicApisAbortSignal['reason'] =\n abortMessage;\n }\n };\n return { response: job(), cancel };\n }\n}\nexports.createCancellableOperation = createCancellableOperation;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC;AACA;AACA;AACA,SAAS,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE;AAC9D,IAAI,MAAM,cAAc,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC;AAC1D;AACA;AACA;AACA,IAAI,MAAM,yBAAyB,GAAG,IAAI,eAAe,EAAE,CAAC;AAC5D,IAAI,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,MAAM,CAAC;AACnE,IAAI,MAAM,uBAAuB,GAAG,eAAe,EAAE,MAAM,CAAC;AAC5D,IAAI,MAAM,GAAG,GAAG,YAAY;AAC5B,QAAQ,IAAI;AACZ,YAAY,MAAM,QAAQ,GAAG,OAAO,cAAc,CAAC,OAAO,CAAC;AAC3D,kBAAkB,OAAO,EAAE;AAC3B,kBAAkB,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAClD,YAAY,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;AAC5C,gBAAgB,MAAM,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;AACnF,aAAa;AACb,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,WAAW,GAAG,uBAAuB,IAAI,qBAAqB,CAAC;AACjF,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,WAAW,EAAE,OAAO,KAAK,IAAI,EAAE;AAC9E,gBAAgB,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC;AACjE,oBAAoB,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;AACzF,oBAAoB,eAAe,EAAE,KAAK;AAC1C,iBAAiB,CAAC,CAAC;AACnB,gBAAgB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7C,gBAAgB,MAAM,aAAa,CAAC;AACpC,aAAa;AACb,YAAY,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC,YAAY,MAAM,KAAK,CAAC;AACxB,SAAS;AACT,KAAK,CAAC;AACN,IAAI,IAAI,cAAc,CAAQ,CAAC,EAAE;AACjC,QAAQ,OAAO,GAAG,EAAE,CAAC;AACrB,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK;AACzC,YAAY,IAAI,qBAAqB,CAAC,OAAO,KAAK,IAAI,EAAE;AACxD,gBAAgB,OAAO;AACvB,aAAa;AACb,YAAY,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC1D;AACA;AACA,YAAY,IAAI,YAAY,IAAI,qBAAqB,CAAC,MAAM,KAAK,YAAY,EAAE;AAC/E,gBAAgB,qBAAqB,CAAC,QAAQ,CAAC;AAC/C,oBAAoB,YAAY,CAAC;AACjC,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC;AAC3C,KAAK;AACL,CAAC;AACD,OAAO,CAAC,0BAA0B,GAAG,0BAA0B;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -15,3 +16,4 @@ var resolveApiUrl_1 = require("./resolveApiUrl");
|
|
|
15
16
|
Object.defineProperty(exports, "resolveApiUrl", { enumerable: true, get: function () { return resolveApiUrl_1.resolveApiUrl; } });
|
|
16
17
|
var logger_1 = require("./logger");
|
|
17
18
|
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logger = exports.resolveApiUrl = exports.parseRestApiServiceError = exports.parseSigningInfo = exports.resolveCredentials = exports.createCancellableOperation = void 0;\nvar createCancellableOperation_1 = require(\"./createCancellableOperation\");\nObject.defineProperty(exports, \"createCancellableOperation\", { enumerable: true, get: function () { return createCancellableOperation_1.createCancellableOperation; } });\nvar resolveCredentials_1 = require(\"./resolveCredentials\");\nObject.defineProperty(exports, \"resolveCredentials\", { enumerable: true, get: function () { return resolveCredentials_1.resolveCredentials; } });\nvar parseSigningInfo_1 = require(\"./parseSigningInfo\");\nObject.defineProperty(exports, \"parseSigningInfo\", { enumerable: true, get: function () { return parseSigningInfo_1.parseSigningInfo; } });\nvar serviceError_1 = require(\"./serviceError\");\nObject.defineProperty(exports, \"parseRestApiServiceError\", { enumerable: true, get: function () { return serviceError_1.parseRestApiServiceError; } });\nvar resolveApiUrl_1 = require(\"./resolveApiUrl\");\nObject.defineProperty(exports, \"resolveApiUrl\", { enumerable: true, get: function () { return resolveApiUrl_1.resolveApiUrl; } });\nvar logger_1 = require(\"./logger\");\nObject.defineProperty(exports, \"logger\", { enumerable: true, get: function () { return logger_1.logger; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;AAChL,IAAI,4BAA4B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC3E,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,4BAA4B,CAAC,0BAA0B,CAAC,EAAE,EAAE,CAAC,CAAC;AACzK,IAAI,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC3D,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC;AACjJ,IAAI,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACvD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3I,IAAI,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC/C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,cAAc,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,CAAC;AACvJ,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,eAAe,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;AAClI,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;;"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.logger = void 0;
|
|
6
|
-
|
|
7
|
+
const core_1 = require("@aws-amplify/core");
|
|
7
8
|
exports.logger = new core_1.ConsoleLogger('RestApis');
|
|
9
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../src/utils/logger.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.logger = void 0;\nconst core_1 = require(\"@aws-amplify/core\");\nexports.logger = new core_1.ConsoleLogger('RestApis');\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,OAAO,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;;"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
4
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.normalizeHeaders = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (
|
|
7
|
+
const normalizeHeaders = (headers) => {
|
|
8
|
+
const normalizedHeaders = {};
|
|
9
|
+
for (const key in headers) {
|
|
9
10
|
normalizedHeaders[key.toLowerCase()] = headers[key];
|
|
10
11
|
}
|
|
11
12
|
return normalizedHeaders;
|
|
12
13
|
};
|
|
13
14
|
exports.normalizeHeaders = normalizeHeaders;
|
|
15
|
+
//# sourceMappingURL=normalizeHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeHeaders.js","sources":["../../../src/utils/normalizeHeaders.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.normalizeHeaders = void 0;\nconst normalizeHeaders = (headers) => {\n const normalizedHeaders = {};\n for (const key in headers) {\n normalizedHeaders[key.toLowerCase()] = headers[key];\n }\n return normalizedHeaders;\n};\nexports.normalizeHeaders = normalizeHeaders;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAClC,MAAM,gBAAgB,GAAG,CAAC,OAAO,KAAK;AACtC,IAAI,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACjC,IAAI,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AAC/B,QAAQ,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,CAAC,gBAAgB,GAAG,gBAAgB;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseSigningInfo = void 0;
|
|
7
|
+
const constants_1 = require("./constants");
|
|
8
|
+
/**
|
|
9
|
+
* Infer the signing service and region from the given URL, and for REST API only, from the Amplify configuration.
|
|
10
|
+
* It supports raw API Gateway endpoint and AppSync endpoint.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
const parseSigningInfo = (url, restApiOptions) => {
|
|
15
|
+
const { service: signingService = constants_1.DEFAULT_REST_IAM_SIGNING_SERVICE, region: signingRegion = constants_1.DEFAULT_IAM_SIGNING_REGION, } = restApiOptions?.amplify.getConfig()?.API?.REST?.[restApiOptions?.apiName] ??
|
|
16
|
+
{};
|
|
17
|
+
const { hostname } = url;
|
|
18
|
+
const [, service, region] = constants_1.APIG_HOSTNAME_PATTERN.exec(hostname) ?? [];
|
|
19
|
+
if (service === constants_1.DEFAULT_REST_IAM_SIGNING_SERVICE) {
|
|
20
|
+
// The configured endpoint is an API Gateway endpoint
|
|
21
|
+
// @see: https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-call-api.html
|
|
22
|
+
return {
|
|
23
|
+
service,
|
|
24
|
+
region: region ?? signingRegion,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
else if (service === 'appsync-api') {
|
|
28
|
+
// AppSync endpoint is internally supported because GraphQL operation will send request using POST handler.
|
|
29
|
+
// example: https://xxxx.appsync-api.us-east-1.amazonaws.com/graphql
|
|
30
|
+
return {
|
|
31
|
+
service: 'appsync',
|
|
32
|
+
region: region ?? signingRegion,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return {
|
|
37
|
+
service: signingService,
|
|
38
|
+
region: signingRegion,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.parseSigningInfo = parseSigningInfo;
|
|
43
|
+
//# sourceMappingURL=parseSigningInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseSigningInfo.js","sources":["../../../src/utils/parseSigningInfo.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSigningInfo = void 0;\nconst constants_1 = require(\"./constants\");\n/**\n * Infer the signing service and region from the given URL, and for REST API only, from the Amplify configuration.\n * It supports raw API Gateway endpoint and AppSync endpoint.\n *\n * @internal\n */\nconst parseSigningInfo = (url, restApiOptions) => {\n const { service: signingService = constants_1.DEFAULT_REST_IAM_SIGNING_SERVICE, region: signingRegion = constants_1.DEFAULT_IAM_SIGNING_REGION, } = restApiOptions?.amplify.getConfig()?.API?.REST?.[restApiOptions?.apiName] ??\n {};\n const { hostname } = url;\n const [, service, region] = constants_1.APIG_HOSTNAME_PATTERN.exec(hostname) ?? [];\n if (service === constants_1.DEFAULT_REST_IAM_SIGNING_SERVICE) {\n // The configured endpoint is an API Gateway endpoint\n // @see: https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-call-api.html\n return {\n service,\n region: region ?? signingRegion,\n };\n }\n else if (service === 'appsync-api') {\n // AppSync endpoint is internally supported because GraphQL operation will send request using POST handler.\n // example: https://xxxx.appsync-api.us-east-1.amazonaws.com/graphql\n return {\n service: 'appsync',\n region: region ?? signingRegion,\n };\n }\n else {\n return {\n service: signingService,\n region: signingRegion,\n };\n }\n};\nexports.parseSigningInfo = parseSigningInfo;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;AAClC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK;AAClD,IAAI,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,WAAW,CAAC,gCAAgC,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,0BAA0B,GAAG,GAAG,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,cAAc,EAAE,OAAO,CAAC;AACjO,QAAQ,EAAE,CAAC;AACX,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;AAC7B,IAAI,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACvF,IAAI,IAAI,OAAO,KAAK,WAAW,CAAC,gCAAgC,EAAE;AAClE;AACA;AACA,QAAQ,OAAO;AACf,YAAY,OAAO;AACnB,YAAY,MAAM,EAAE,MAAM,IAAI,aAAa;AAC3C,SAAS,CAAC;AACV,KAAK;AACL,SAAS,IAAI,OAAO,KAAK,aAAa,EAAE;AACxC;AACA;AACA,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,SAAS;AAC9B,YAAY,MAAM,EAAE,MAAM,IAAI,aAAa;AAC3C,SAAS,CAAC;AACV,KAAK;AACL,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,OAAO,EAAE,cAAc;AACnC,YAAY,MAAM,EAAE,aAAa;AACjC,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,gBAAgB,GAAG,gBAAgB;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveApiUrl = void 0;
|
|
7
|
+
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
8
|
+
const errors_1 = require("../errors");
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the REST API request URL by:
|
|
11
|
+
* 1. Loading the REST API endpoint from the Amplify configuration with corresponding API name.
|
|
12
|
+
* 2. Appending the path to the endpoint.
|
|
13
|
+
* 3. Merge the query parameters from path and the queryParameter argument which is taken from the public REST API
|
|
14
|
+
* options.
|
|
15
|
+
* 4. Validating the resulting URL string.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
const resolveApiUrl = (amplify, apiName, path, queryParams) => {
|
|
20
|
+
const urlStr = amplify.getConfig()?.API?.REST?.[apiName]?.endpoint;
|
|
21
|
+
(0, errors_1.assertValidationError)(!!urlStr, errors_1.RestApiValidationErrorCode.InvalidApiName);
|
|
22
|
+
try {
|
|
23
|
+
const url = new utils_1.AmplifyUrl(urlStr + path);
|
|
24
|
+
if (queryParams) {
|
|
25
|
+
const mergedQueryParams = new utils_1.AmplifyUrlSearchParams(url.searchParams);
|
|
26
|
+
Object.entries(queryParams).forEach(([key, value]) => {
|
|
27
|
+
mergedQueryParams.set(key, value);
|
|
28
|
+
});
|
|
29
|
+
url.search = new utils_1.AmplifyUrlSearchParams(mergedQueryParams).toString();
|
|
30
|
+
}
|
|
31
|
+
return url;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
throw new errors_1.RestApiError({
|
|
35
|
+
name: errors_1.RestApiValidationErrorCode.InvalidApiName,
|
|
36
|
+
...errors_1.validationErrorMap[errors_1.RestApiValidationErrorCode.InvalidApiName],
|
|
37
|
+
recoverySuggestion: `Please make sure the REST endpoint URL is a valid URL string. Got ${urlStr}`,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.resolveApiUrl = resolveApiUrl;
|
|
42
|
+
//# sourceMappingURL=resolveApiUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveApiUrl.js","sources":["../../../src/utils/resolveApiUrl.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveApiUrl = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst errors_1 = require(\"../errors\");\n/**\n * Resolve the REST API request URL by:\n * 1. Loading the REST API endpoint from the Amplify configuration with corresponding API name.\n * 2. Appending the path to the endpoint.\n * 3. Merge the query parameters from path and the queryParameter argument which is taken from the public REST API\n * options.\n * 4. Validating the resulting URL string.\n *\n * @internal\n */\nconst resolveApiUrl = (amplify, apiName, path, queryParams) => {\n const urlStr = amplify.getConfig()?.API?.REST?.[apiName]?.endpoint;\n (0, errors_1.assertValidationError)(!!urlStr, errors_1.RestApiValidationErrorCode.InvalidApiName);\n try {\n const url = new utils_1.AmplifyUrl(urlStr + path);\n if (queryParams) {\n const mergedQueryParams = new utils_1.AmplifyUrlSearchParams(url.searchParams);\n Object.entries(queryParams).forEach(([key, value]) => {\n mergedQueryParams.set(key, value);\n });\n url.search = new utils_1.AmplifyUrlSearchParams(mergedQueryParams).toString();\n }\n return url;\n }\n catch (error) {\n throw new errors_1.RestApiError({\n name: errors_1.RestApiValidationErrorCode.InvalidApiName,\n ...errors_1.validationErrorMap[errors_1.RestApiValidationErrorCode.InvalidApiName],\n recoverySuggestion: `Please make sure the REST endpoint URL is a valid URL string. Got ${urlStr}`,\n });\n }\n};\nexports.resolveApiUrl = resolveApiUrl;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,KAAK;AAC/D,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,CAAC;AACvE,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;AACtG,IAAI,IAAI;AACR,QAAQ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAC1D,QAAQ,IAAI,WAAW,EAAE;AACzB,YAAY,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3F,YAAY,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAClE,gBAAgB,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAClD,aAAa,CAAC,CAAC;AACf,YAAY,GAAG,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC1F,SAAS;AACT,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC;AACxC,YAAY,IAAI,EAAE,QAAQ,CAAC,0BAA0B,CAAC,cAAc;AACpE,YAAY,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,cAAc,CAAC;AAC9F,YAAY,kBAAkB,EAAE,CAAC,kEAAkE,EAAE,MAAM,CAAC,CAAC;AAC7G,SAAS,CAAC,CAAC;AACX,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,aAAa,GAAG,aAAa;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveCredentials = void 0;
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
const resolveCredentials = async (amplify) => {
|
|
12
|
+
const { credentials } = await amplify.Auth.fetchAuthSession();
|
|
13
|
+
(0, errors_1.assertValidationError)(!!credentials && !!credentials.accessKeyId && !!credentials.secretAccessKey, errors_1.RestApiValidationErrorCode.NoCredentials);
|
|
14
|
+
return credentials;
|
|
15
|
+
};
|
|
16
|
+
exports.resolveCredentials = resolveCredentials;
|
|
17
|
+
//# sourceMappingURL=resolveCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveCredentials.js","sources":["../../../src/utils/resolveCredentials.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveCredentials = void 0;\nconst errors_1 = require(\"../errors\");\n/**\n * @internal\n */\nconst resolveCredentials = async (amplify) => {\n const { credentials } = await amplify.Auth.fetchAuthSession();\n (0, errors_1.assertValidationError)(!!credentials && !!credentials.accessKeyId && !!credentials.secretAccessKey, errors_1.RestApiValidationErrorCode.NoCredentials);\n return credentials;\n};\nexports.resolveCredentials = resolveCredentials;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,OAAO,OAAO,KAAK;AAC9C,IAAI,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAClE,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;AACxK,IAAI,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AACF,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.parseRestApiServiceError = exports.buildRestApiServiceError = void 0;
|
|
5
|
+
const aws_client_utils_1 = require("@aws-amplify/core/internals/aws-client-utils");
|
|
6
|
+
const errors_1 = require("../errors");
|
|
7
|
+
/**
|
|
8
|
+
* Internal-only method to create a new RestApiError from a service error.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
const buildRestApiServiceError = (error) => {
|
|
13
|
+
const restApiError = new errors_1.RestApiError({
|
|
14
|
+
name: error?.name,
|
|
15
|
+
message: error.message,
|
|
16
|
+
underlyingError: error,
|
|
17
|
+
});
|
|
18
|
+
return restApiError;
|
|
19
|
+
};
|
|
20
|
+
exports.buildRestApiServiceError = buildRestApiServiceError;
|
|
21
|
+
const parseRestApiServiceError = async (response) => {
|
|
22
|
+
const parsedError = await (0, aws_client_utils_1.parseJsonError)(response);
|
|
23
|
+
if (!parsedError) {
|
|
24
|
+
// Response is not an error.
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
return Object.assign((0, exports.buildRestApiServiceError)(parsedError), {
|
|
28
|
+
$metadata: parsedError.$metadata,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.parseRestApiServiceError = parseRestApiServiceError;
|
|
32
|
+
//# sourceMappingURL=serviceError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serviceError.js","sources":["../../../src/utils/serviceError.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseRestApiServiceError = exports.buildRestApiServiceError = void 0;\nconst aws_client_utils_1 = require(\"@aws-amplify/core/internals/aws-client-utils\");\nconst errors_1 = require(\"../errors\");\n/**\n * Internal-only method to create a new RestApiError from a service error.\n *\n * @internal\n */\nconst buildRestApiServiceError = (error) => {\n const restApiError = new errors_1.RestApiError({\n name: error?.name,\n message: error.message,\n underlyingError: error,\n });\n return restApiError;\n};\nexports.buildRestApiServiceError = buildRestApiServiceError;\nconst parseRestApiServiceError = async (response) => {\n const parsedError = await (0, aws_client_utils_1.parseJsonError)(response);\n if (!parsedError) {\n // Response is not an error.\n return;\n }\n return Object.assign((0, exports.buildRestApiServiceError)(parsedError), {\n $metadata: parsedError.$metadata,\n });\n};\nexports.parseRestApiServiceError = parseRestApiServiceError;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,GAAG,KAAK,CAAC,CAAC;AAC7E,MAAM,kBAAkB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACnF,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA,MAAM,wBAAwB,GAAG,CAAC,KAAK,KAAK;AAC5C,IAAI,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC;AACnD,QAAQ,IAAI,EAAE,KAAK,EAAE,IAAI;AACzB,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,QAAQ,eAAe,EAAE,KAAK;AAC9B,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AACF,OAAO,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;AAC5D,MAAM,wBAAwB,GAAG,OAAO,QAAQ,KAAK;AACrD,IAAI,MAAM,WAAW,GAAG,MAAM,IAAI,kBAAkB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC/E,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB;AACA,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,wBAAwB,EAAE,WAAW,CAAC,EAAE;AAC7E,QAAQ,SAAS,EAAE,WAAW,CAAC,SAAS;AACxC,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,wBAAwB,GAAG,wBAAwB;;"}
|
|
@@ -21,11 +21,7 @@ type SigningServiceInfo = {
|
|
|
21
21
|
*
|
|
22
22
|
* @internal
|
|
23
23
|
*/
|
|
24
|
-
export declare const transferHandler: (amplify: AmplifyClassV6, options:
|
|
25
|
-
body?: DocumentType | FormData | undefined;
|
|
26
|
-
headers?: Headers | undefined;
|
|
27
|
-
withCredentials?: boolean | undefined;
|
|
28
|
-
} & {
|
|
24
|
+
export declare const transferHandler: (amplify: AmplifyClassV6, options: HandlerOptions & {
|
|
29
25
|
abortSignal: AbortSignal;
|
|
30
26
|
}, signingServiceInfo?: SigningServiceInfo) => Promise<RestApiResponse>;
|
|
31
27
|
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { getRetryDecider, jitteredBackoff, authenticatedHandler, unauthenticatedHandler } from '@aws-amplify/core/internals/aws-client-utils';
|
|
2
|
+
import '@aws-amplify/core/internals/utils';
|
|
3
|
+
import '../../errors/validation.mjs';
|
|
4
|
+
import { parseRestApiServiceError } from '../../utils/serviceError.mjs';
|
|
5
|
+
import '../../utils/logger.mjs';
|
|
6
|
+
import { resolveCredentials } from '../../utils/resolveCredentials.mjs';
|
|
7
|
+
import { parseSigningInfo } from '../../utils/parseSigningInfo.mjs';
|
|
8
|
+
import { normalizeHeaders } from '../../utils/normalizeHeaders.mjs';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Make REST API call with best-effort IAM auth.
|
|
12
|
+
* @param amplify Amplify instance to to resolve credentials and tokens. Should use different instance in client-side
|
|
13
|
+
* and SSR
|
|
14
|
+
* @param options Options accepted from public API options when calling the handlers.
|
|
15
|
+
* @param signingServiceInfo Internal-only options enable IAM auth as well as to to overwrite the IAM signing service
|
|
16
|
+
* and region. If specified, and NONE of API Key header or Auth header is present, IAM auth will be used.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
const transferHandler = async (amplify, options, signingServiceInfo) => {
|
|
21
|
+
const { url, method, headers, body, withCredentials, abortSignal } = options;
|
|
22
|
+
const resolvedBody = body
|
|
23
|
+
? body instanceof FormData
|
|
24
|
+
? body
|
|
25
|
+
: JSON.stringify(body ?? '')
|
|
26
|
+
: undefined;
|
|
27
|
+
const resolvedHeaders = {
|
|
28
|
+
...normalizeHeaders(headers),
|
|
29
|
+
...(resolvedBody
|
|
30
|
+
? {
|
|
31
|
+
'content-type': body instanceof FormData
|
|
32
|
+
? 'multipart/form-data'
|
|
33
|
+
: 'application/json; charset=UTF-8',
|
|
34
|
+
}
|
|
35
|
+
: {}),
|
|
36
|
+
};
|
|
37
|
+
const request = {
|
|
38
|
+
url,
|
|
39
|
+
headers: resolvedHeaders,
|
|
40
|
+
method,
|
|
41
|
+
body: resolvedBody,
|
|
42
|
+
};
|
|
43
|
+
const baseOptions = {
|
|
44
|
+
retryDecider: getRetryDecider(parseRestApiServiceError),
|
|
45
|
+
computeDelay: jitteredBackoff,
|
|
46
|
+
withCrossDomainCredentials: withCredentials,
|
|
47
|
+
abortSignal,
|
|
48
|
+
};
|
|
49
|
+
const isIamAuthApplicable = iamAuthApplicable(request, signingServiceInfo);
|
|
50
|
+
let response;
|
|
51
|
+
if (isIamAuthApplicable) {
|
|
52
|
+
const signingInfoFromUrl = parseSigningInfo(url);
|
|
53
|
+
const signingService = signingServiceInfo?.service ?? signingInfoFromUrl.service;
|
|
54
|
+
const signingRegion = signingServiceInfo?.region ?? signingInfoFromUrl.region;
|
|
55
|
+
const credentials = await resolveCredentials(amplify);
|
|
56
|
+
response = await authenticatedHandler(request, {
|
|
57
|
+
...baseOptions,
|
|
58
|
+
credentials,
|
|
59
|
+
region: signingRegion,
|
|
60
|
+
service: signingService,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
response = await unauthenticatedHandler(request, {
|
|
65
|
+
...baseOptions,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// Clean-up un-modeled properties from response.
|
|
69
|
+
return {
|
|
70
|
+
statusCode: response.statusCode,
|
|
71
|
+
headers: response.headers,
|
|
72
|
+
body: response.body,
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
const iamAuthApplicable = ({ headers }, signingServiceInfo) => !headers.authorization && !headers['x-api-key'] && !!signingServiceInfo;
|
|
76
|
+
|
|
77
|
+
export { transferHandler };
|
|
78
|
+
//# sourceMappingURL=handler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.mjs","sources":["../../../../src/apis/common/handler.ts"],"sourcesContent":["import { unauthenticatedHandler, getRetryDecider, jitteredBackoff, authenticatedHandler, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parseRestApiServiceError, parseSigningInfo, resolveCredentials, } from '../../utils';\nimport { normalizeHeaders } from '../../utils/normalizeHeaders';\n/**\n * Make REST API call with best-effort IAM auth.\n * @param amplify Amplify instance to to resolve credentials and tokens. Should use different instance in client-side\n * and SSR\n * @param options Options accepted from public API options when calling the handlers.\n * @param signingServiceInfo Internal-only options enable IAM auth as well as to to overwrite the IAM signing service\n * and region. If specified, and NONE of API Key header or Auth header is present, IAM auth will be used.\n *\n * @internal\n */\nexport const transferHandler = async (amplify, options, signingServiceInfo) => {\n const { url, method, headers, body, withCredentials, abortSignal } = options;\n const resolvedBody = body\n ? body instanceof FormData\n ? body\n : JSON.stringify(body ?? '')\n : undefined;\n const resolvedHeaders = {\n ...normalizeHeaders(headers),\n ...(resolvedBody\n ? {\n 'content-type': body instanceof FormData\n ? 'multipart/form-data'\n : 'application/json; charset=UTF-8',\n }\n : {}),\n };\n const request = {\n url,\n headers: resolvedHeaders,\n method,\n body: resolvedBody,\n };\n const baseOptions = {\n retryDecider: getRetryDecider(parseRestApiServiceError),\n computeDelay: jitteredBackoff,\n withCrossDomainCredentials: withCredentials,\n abortSignal,\n };\n const isIamAuthApplicable = iamAuthApplicable(request, signingServiceInfo);\n let response;\n if (isIamAuthApplicable) {\n const signingInfoFromUrl = parseSigningInfo(url);\n const signingService = signingServiceInfo?.service ?? signingInfoFromUrl.service;\n const signingRegion = signingServiceInfo?.region ?? signingInfoFromUrl.region;\n const credentials = await resolveCredentials(amplify);\n response = await authenticatedHandler(request, {\n ...baseOptions,\n credentials,\n region: signingRegion,\n service: signingService,\n });\n }\n else {\n response = await unauthenticatedHandler(request, {\n ...baseOptions,\n });\n }\n // Clean-up un-modeled properties from response.\n return {\n statusCode: response.statusCode,\n headers: response.headers,\n body: response.body,\n };\n};\nconst iamAuthApplicable = ({ headers }, signingServiceInfo) => !headers.authorization && !headers['x-api-key'] && !!signingServiceInfo;\n"],"names":[],"mappings":";;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,eAAe,GAAG,OAAO,OAAO,EAAE,OAAO,EAAE,kBAAkB,KAAK;AAC/E,IAAI,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;AACjF,IAAI,MAAM,YAAY,GAAG,IAAI;AAC7B,UAAU,IAAI,YAAY,QAAQ;AAClC,cAAc,IAAI;AAClB,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;AACxC,UAAU,SAAS,CAAC;AACpB,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACpC,QAAQ,IAAI,YAAY;AACxB,cAAc;AACd,gBAAgB,cAAc,EAAE,IAAI,YAAY,QAAQ;AACxD,sBAAsB,qBAAqB;AAC3C,sBAAsB,iCAAiC;AACvD,aAAa;AACb,cAAc,EAAE,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,GAAG;AACX,QAAQ,OAAO,EAAE,eAAe;AAChC,QAAQ,MAAM;AACd,QAAQ,IAAI,EAAE,YAAY;AAC1B,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG;AACxB,QAAQ,YAAY,EAAE,eAAe,CAAC,wBAAwB,CAAC;AAC/D,QAAQ,YAAY,EAAE,eAAe;AACrC,QAAQ,0BAA0B,EAAE,eAAe;AACnD,QAAQ,WAAW;AACnB,KAAK,CAAC;AACN,IAAI,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC/E,IAAI,IAAI,QAAQ,CAAC;AACjB,IAAI,IAAI,mBAAmB,EAAE;AAC7B,QAAQ,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACzD,QAAQ,MAAM,cAAc,GAAG,kBAAkB,EAAE,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC;AACzF,QAAQ,MAAM,aAAa,GAAG,kBAAkB,EAAE,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC;AACtF,QAAQ,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC9D,QAAQ,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE;AACvD,YAAY,GAAG,WAAW;AAC1B,YAAY,WAAW;AACvB,YAAY,MAAM,EAAE,aAAa;AACjC,YAAY,OAAO,EAAE,cAAc;AACnC,SAAS,CAAC,CAAC;AACX,KAAK;AACL,SAAS;AACT,QAAQ,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;AACzD,YAAY,GAAG,WAAW;AAC1B,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,OAAO;AACX,QAAQ,UAAU,EAAE,QAAQ,CAAC,UAAU;AACvC,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO;AACjC,QAAQ,IAAI,EAAE,QAAQ,CAAC,IAAI;AAC3B,KAAK,CAAC;AACN,EAAE;AACF,MAAM,iBAAiB,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,kBAAkB;;;;"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { transferHandler } from './handler.mjs';
|
|
2
|
+
import { createCancellableOperation } from '../../utils/createCancellableOperation.mjs';
|
|
3
|
+
import '@aws-amplify/core/internals/utils';
|
|
4
|
+
import '../../errors/validation.mjs';
|
|
5
|
+
import '@aws-amplify/core/internals/aws-client-utils';
|
|
6
|
+
import '../../utils/logger.mjs';
|
|
7
|
+
|
|
1
8
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { __assign, __awaiter, __generator } from "tslib";
|
|
4
|
-
import { transferHandler } from './handler';
|
|
5
|
-
import { createCancellableOperation } from '../../utils';
|
|
6
10
|
/**
|
|
7
11
|
* This weak map provides functionality to cancel a request given the promise containing the `post` request.
|
|
8
12
|
*
|
|
@@ -14,21 +18,22 @@ import { createCancellableOperation } from '../../utils';
|
|
|
14
18
|
* 6. GraphQL POST request will be rejected with the error message provided during cancel.
|
|
15
19
|
* 7. Caller can check if the error is because of cancelling by calling `isCancelError(error)`.
|
|
16
20
|
*/
|
|
17
|
-
|
|
21
|
+
const cancelTokenMap = new WeakMap();
|
|
18
22
|
/**
|
|
19
23
|
* @internal
|
|
20
24
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
const post = (amplify, { url, options, abortController }) => {
|
|
26
|
+
const controller = abortController ?? new AbortController();
|
|
27
|
+
const responsePromise = createCancellableOperation(async () => {
|
|
28
|
+
const response = transferHandler(amplify, {
|
|
29
|
+
url,
|
|
30
|
+
method: 'POST',
|
|
31
|
+
...options,
|
|
32
|
+
abortSignal: controller.signal,
|
|
33
|
+
}, options?.signingServiceInfo);
|
|
34
|
+
return response;
|
|
35
|
+
}, controller);
|
|
36
|
+
const responseWithCleanUp = responsePromise.finally(() => {
|
|
32
37
|
cancelTokenMap.delete(responseWithCleanUp);
|
|
33
38
|
});
|
|
34
39
|
return responseWithCleanUp;
|
|
@@ -38,8 +43,8 @@ export var post = function (amplify, _a) {
|
|
|
38
43
|
* If the request is already completed, this function does nothing.
|
|
39
44
|
* It MUST be used after `updateRequestToBeCancellable` is called.
|
|
40
45
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
const cancel = (promise, message) => {
|
|
47
|
+
const controller = cancelTokenMap.get(promise);
|
|
43
48
|
if (controller) {
|
|
44
49
|
controller.abort(message);
|
|
45
50
|
if (message && controller.signal.reason !== message) {
|
|
@@ -54,6 +59,9 @@ export var cancel = function (promise, message) {
|
|
|
54
59
|
/**
|
|
55
60
|
* MUST be used to make a promise including internal `post` API call cancellable.
|
|
56
61
|
*/
|
|
57
|
-
|
|
62
|
+
const updateRequestToBeCancellable = (promise, controller) => {
|
|
58
63
|
cancelTokenMap.set(promise, controller);
|
|
59
64
|
};
|
|
65
|
+
|
|
66
|
+
export { cancel, post, updateRequestToBeCancellable };
|
|
67
|
+
//# sourceMappingURL=internalPost.mjs.map
|