@sinch/sdk-client 1.2.0 → 1.2.1
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/client/api-client-helpers.d.ts +1 -1
- package/dist/client/api-client-helpers.js +2 -7
- package/dist/client/api-client-helpers.js.map +1 -1
- package/dist/client/api-fetch-client.d.ts +1 -3
- package/dist/client/api-fetch-client.js +20 -21
- package/dist/client/api-fetch-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RequestOptions, RequestPlugin } from '../plugins/core/request-plugin';
|
|
2
2
|
import { ApiCallParameters, ApiCallParametersWithPagination } from '../api/api-client';
|
|
3
3
|
import { ErrorContext } from '../api/api-errors';
|
|
4
|
-
export declare const manageExpiredToken: (apiCallParameters: ApiCallParameters | ApiCallParametersWithPagination, errorContext: ErrorContext, requestPlugins: RequestPlugin[] | undefined, requestOptions: RequestOptions
|
|
4
|
+
export declare const manageExpiredToken: (apiCallParameters: ApiCallParameters | ApiCallParametersWithPagination, errorContext: ErrorContext, requestPlugins: RequestPlugin[] | undefined, requestOptions: RequestOptions) => Promise<RequestOptions>;
|
|
5
5
|
export declare function buildErrorContext(apiCallParameters: ApiCallParameters, origin: string | null): ErrorContext;
|
|
6
6
|
export declare function invalidateAndRegenerateJwt(requestPlugins: RequestPlugin[] | undefined, options: RequestOptions, errorContext: ErrorContext): Promise<RequestOptions>;
|
|
7
7
|
/**
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.reviveDates = exports.invalidateAndRegenerateJwt = exports.buildErrorContext = exports.manageExpiredToken = void 0;
|
|
4
4
|
const request_plugin_1 = require("../plugins/core/request-plugin");
|
|
5
5
|
const api_errors_1 = require("../api/api-errors");
|
|
6
|
-
const manageExpiredToken = async (apiCallParameters, errorContext, requestPlugins, requestOptions
|
|
6
|
+
const manageExpiredToken = async (apiCallParameters, errorContext, requestPlugins, requestOptions) => {
|
|
7
7
|
// Use the circuitBreaker variable to try to regenerate a valid JWT only 3 times
|
|
8
8
|
if (!apiCallParameters.circuitBreaker) {
|
|
9
9
|
apiCallParameters.circuitBreaker = 1;
|
|
@@ -15,12 +15,7 @@ const manageExpiredToken = async (apiCallParameters, errorContext, requestPlugin
|
|
|
15
15
|
throw new api_errors_1.GenericError('Tried to generate a new JWT with no success', errorContext);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
const newApiCallParameters = {
|
|
20
|
-
...apiCallParameters,
|
|
21
|
-
requestOptions: optionsWithNewJwt,
|
|
22
|
-
};
|
|
23
|
-
return callback(newApiCallParameters);
|
|
18
|
+
return await invalidateAndRegenerateJwt(requestPlugins, requestOptions, errorContext);
|
|
24
19
|
};
|
|
25
20
|
exports.manageExpiredToken = manageExpiredToken;
|
|
26
21
|
function buildErrorContext(apiCallParameters, origin) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client-helpers.js","sourceRoot":"","sources":["../../src/client/api-client-helpers.ts"],"names":[],"mappings":";;;AAAA,mEAIwC;AAExC,kDAA+D;AAExD,MAAM,kBAAkB,GAAG,KAAK,EACrC,iBAAsE,EACtE,YAA0B,EAC1B,cAA2C,EAC3C,cAA8B,
|
|
1
|
+
{"version":3,"file":"api-client-helpers.js","sourceRoot":"","sources":["../../src/client/api-client-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,7 @@ export declare class ApiFetchClient extends ApiClient {
|
|
|
12
12
|
constructor(options: ApiClientOptions);
|
|
13
13
|
/** @inheritdoc */
|
|
14
14
|
processCall<T>(props: ApiCallParameters): Promise<T>;
|
|
15
|
-
|
|
16
|
-
processCallWithPagination<T>(props: ApiCallParametersWithPagination): Promise<PageResult<T>>;
|
|
17
|
-
private sinchFetchWithPagination;
|
|
15
|
+
processCallWithPagination<T>(apiCallParameters: ApiCallParametersWithPagination): Promise<PageResult<T>>;
|
|
18
16
|
private buildFetchError;
|
|
19
17
|
private loadResponsePlugins;
|
|
20
18
|
/** @inheritdoc */
|
|
@@ -41,8 +41,12 @@ class ApiFetchClient extends api_client_1.ApiClient {
|
|
|
41
41
|
let exception;
|
|
42
42
|
// Execute call
|
|
43
43
|
try {
|
|
44
|
-
|
|
45
|
-
response
|
|
44
|
+
response = await (0, node_fetch_1.default)(props.url, props.requestOptions);
|
|
45
|
+
if (response.status === 401
|
|
46
|
+
&& response.headers.get('www-authenticate')?.includes('expired')) {
|
|
47
|
+
const requestOptions = await (0, api_client_helpers_1.manageExpiredToken)(props, errorContext, this.apiClientOptions.requestPlugins, props.requestOptions);
|
|
48
|
+
response = await (0, node_fetch_1.default)(props.url, requestOptions);
|
|
49
|
+
}
|
|
46
50
|
body = await response.text();
|
|
47
51
|
}
|
|
48
52
|
catch (error) {
|
|
@@ -69,28 +73,17 @@ class ApiFetchClient extends api_client_1.ApiClient {
|
|
|
69
73
|
// If everything went fine, we apply a last transformation to revive the dates, and we return the transformed API response
|
|
70
74
|
return (0, api_client_helpers_1.reviveDates)(transformedResponse);
|
|
71
75
|
}
|
|
72
|
-
async
|
|
73
|
-
const response = await (0, node_fetch_1.default)(apiCallParameters.url, apiCallParameters.requestOptions);
|
|
74
|
-
if (response.status === 401
|
|
75
|
-
&& response.headers.get('www-authenticate')?.includes('expired')) {
|
|
76
|
-
return (0, api_client_helpers_1.manageExpiredToken)(apiCallParameters, errorContext, this.apiClientOptions.requestPlugins, apiCallParameters.requestOptions, this.processCall);
|
|
77
|
-
}
|
|
78
|
-
return response;
|
|
79
|
-
}
|
|
80
|
-
processCallWithPagination(props) {
|
|
76
|
+
async processCallWithPagination(apiCallParameters) {
|
|
81
77
|
// Read the "Origin" header if existing, for logging purposes
|
|
82
|
-
const origin =
|
|
83
|
-
const errorContext = (0, api_client_helpers_1.buildErrorContext)(
|
|
84
|
-
// Execute call
|
|
85
|
-
return this.sinchFetchWithPagination(props, errorContext, origin);
|
|
86
|
-
}
|
|
87
|
-
;
|
|
88
|
-
async sinchFetchWithPagination(apiCallParameters, errorContext, origin) {
|
|
78
|
+
const origin = apiCallParameters.requestOptions.headers.get('Origin');
|
|
79
|
+
const errorContext = (0, api_client_helpers_1.buildErrorContext)(apiCallParameters, origin);
|
|
89
80
|
let exception;
|
|
90
|
-
|
|
81
|
+
// Execute call
|
|
82
|
+
let response = await (0, node_fetch_1.default)(apiCallParameters.url, apiCallParameters.requestOptions);
|
|
91
83
|
if (response.status === 401
|
|
92
84
|
&& response.headers.get('www-authenticate')?.includes('expired')) {
|
|
93
|
-
|
|
85
|
+
const requestOptions = await (0, api_client_helpers_1.manageExpiredToken)(apiCallParameters, errorContext, this.apiClientOptions.requestPlugins, apiCallParameters.requestOptions);
|
|
86
|
+
response = await (0, node_fetch_1.default)(apiCallParameters.url, requestOptions);
|
|
94
87
|
}
|
|
95
88
|
// When handling pagination, we won't return the raw response but a PageResult
|
|
96
89
|
const body = await response.text();
|
|
@@ -125,6 +118,7 @@ class ApiFetchClient extends api_client_1.ApiClient {
|
|
|
125
118
|
nextPage: () => (0, api_client_pagination_helper_1.createNextPageMethod)(this, (0, api_client_pagination_helper_1.buildPaginationContext)(apiCallParameters), apiCallParameters.requestOptions, nextPage),
|
|
126
119
|
};
|
|
127
120
|
}
|
|
121
|
+
;
|
|
128
122
|
buildFetchError(error, errorContext) {
|
|
129
123
|
if (error instanceof api_errors_1.GenericError) {
|
|
130
124
|
return new api_errors_1.GenericError(error.message, errorContext);
|
|
@@ -158,7 +152,12 @@ class ApiFetchClient extends api_client_1.ApiClient {
|
|
|
158
152
|
// Execute call
|
|
159
153
|
try {
|
|
160
154
|
// Send the request with the refresh token mechanism
|
|
161
|
-
response = await
|
|
155
|
+
response = await (0, node_fetch_1.default)(props.url, props.requestOptions);
|
|
156
|
+
if (response.status === 401
|
|
157
|
+
&& response.headers.get('www-authenticate')?.includes('expired')) {
|
|
158
|
+
const requestOptions = await (0, api_client_helpers_1.manageExpiredToken)(props, errorContext, this.apiClientOptions.requestPlugins, props.requestOptions);
|
|
159
|
+
response = await (0, node_fetch_1.default)(props.url, requestOptions);
|
|
160
|
+
}
|
|
162
161
|
body = await response.buffer();
|
|
163
162
|
fileName = this.extractFileName(response.headers);
|
|
164
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-fetch-client.js","sourceRoot":"","sources":["../../src/client/api-fetch-client.ts"],"names":[],"mappings":";;;;;;AACA,gDAAoD;AACpD,oDAAyD;AACzD,kDAM2B;AAI3B,kDAK2B;AAC3B,4DAAsD;AACtD,6DAA0F;AAC1F,iFAKwC;AAExC,4DAA4D;AAC5D,MAAa,cAAe,SAAQ,sBAAS;IAE3C;;;;;;OAMG;IACH,YAAY,OAAyB;QACnC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,cAAc,EAAE,CAAC,IAAI,wBAAc,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACzE,eAAe,EAAE;gBACf,IAAI,6BAAiB,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,WAAW,CACtB,KAAwB;QAExB,6DAA6D;QAC7D,MAAM,MAAM,GAAI,KAAK,CAAC,cAAc,CAAC,OAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,YAAY,GAAiB,IAAA,sCAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpE,oBAAoB;QACpB,IAAI,QAA8B,CAAC;QACnC,IAAI,IAAwB,CAAC;QAC7B,IAAI,SAA4B,CAAC;QAEjC,eAAe;QACf,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"api-fetch-client.js","sourceRoot":"","sources":["../../src/client/api-fetch-client.ts"],"names":[],"mappings":"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"}
|