1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports["default"] = void 0;
|
5 |
|
6 | var _UserAgent = _interopRequireDefault(require("./UserAgent"));
|
7 |
|
8 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
9 |
|
10 |
|
11 | var Client = function () {
|
12 | |
13 |
|
14 |
|
15 |
|
16 |
|
17 | function Client(region, endpoint) {
|
18 | this.endpoint = endpoint || "https://cognito-idp." + region + ".amazonaws.com/";
|
19 | }
|
20 | |
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 | var _proto = Client.prototype;
|
31 |
|
32 | _proto.request = function request(operation, params, callback) {
|
33 | var headers = {
|
34 | 'Content-Type': 'application/x-amz-json-1.1',
|
35 | 'X-Amz-Target': "AWSCognitoIdentityProviderService." + operation,
|
36 | 'X-Amz-User-Agent': _UserAgent["default"].prototype.userAgent
|
37 | };
|
38 | var options = {
|
39 | headers: headers,
|
40 | method: 'POST',
|
41 | mode: 'cors',
|
42 | cache: 'no-cache',
|
43 | body: JSON.stringify(params)
|
44 | };
|
45 | var response;
|
46 | var responseJsonData;
|
47 | fetch(this.endpoint, options).then(function (resp) {
|
48 | response = resp;
|
49 | return resp;
|
50 | }, function (err) {
|
51 |
|
52 |
|
53 | if (err instanceof TypeError) {
|
54 | throw new Error('Network error');
|
55 | }
|
56 |
|
57 | throw err;
|
58 | }).then(function (resp) {
|
59 | return resp.json()["catch"](function () {
|
60 | return {};
|
61 | });
|
62 | }).then(function (data) {
|
63 |
|
64 | if (response.ok) return callback(null, data);
|
65 | responseJsonData = data;
|
66 |
|
67 |
|
68 | var code = (data.__type || data.code).split('#').pop();
|
69 | var error = {
|
70 | code: code,
|
71 | name: code,
|
72 | message: data.message || data.Message || null
|
73 | };
|
74 | return callback(error);
|
75 | })["catch"](function (err) {
|
76 |
|
77 | if (response && response.headers && response.headers.get('x-amzn-errortype')) {
|
78 | try {
|
79 | var code = response.headers.get('x-amzn-errortype').split(':')[0];
|
80 | var error = {
|
81 | code: code,
|
82 | name: code,
|
83 | statusCode: response.status,
|
84 | message: response.status ? response.status.toString() : null
|
85 | };
|
86 | return callback(error);
|
87 | } catch (ex) {
|
88 | return callback(err);
|
89 | }
|
90 |
|
91 | } else if (err instanceof Error && err.message === 'Network error') {
|
92 | var _error = {
|
93 | code: 'NetworkError',
|
94 | name: err.name,
|
95 | message: err.message
|
96 | };
|
97 | return callback(_error);
|
98 | } else {
|
99 | return callback(err);
|
100 | }
|
101 | });
|
102 | };
|
103 |
|
104 | return Client;
|
105 | }();
|
106 |
|
107 | exports["default"] = Client; |
\ | No newline at end of file |