@datocms/rest-client-utils 0.1.4 → 0.1.5
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/request.js +12 -10
- package/dist/cjs/request.js.map +1 -1
- package/dist/esm/request.d.ts +1 -0
- package/dist/esm/request.js +12 -10
- package/dist/esm/request.js.map +1 -1
- package/dist/types/request.d.ts +1 -0
- package/package.json +2 -2
- package/src/request.ts +12 -11
package/dist/cjs/request.js
CHANGED
|
@@ -144,7 +144,7 @@ function isErrorWithCode(error) {
|
|
|
144
144
|
var requestCount = 1;
|
|
145
145
|
function request(options) {
|
|
146
146
|
return __awaiter(this, void 0, void 0, function () {
|
|
147
|
-
var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, headers, baseUrl, body, queryString, url, _a, _b, _c, key, value, response_1, waitTimeInSecs, responseBody, _d, jobResult, error, error_1;
|
|
147
|
+
var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _a, _b, _c, key, value, response_1, waitTimeInSecs, responseBody, _d, jobResult, error, error_1;
|
|
148
148
|
var e_1, _e;
|
|
149
149
|
return __generator(this, function (_f) {
|
|
150
150
|
switch (_f.label) {
|
|
@@ -156,6 +156,7 @@ function request(options) {
|
|
|
156
156
|
retryCount = options.retryCount || 1;
|
|
157
157
|
logLevel = options.logLevel || LogLevel.NONE;
|
|
158
158
|
autoRetry = 'autoRetry' in options ? options.autoRetry : true;
|
|
159
|
+
log = options.logFn || (function () { return true; });
|
|
159
160
|
headers = __assign({ 'content-type': 'application/json', accept: 'application/json', authorization: "Bearer ".concat(options.apiToken), 'user-agent': userAgent }, (options.extraHeaders || {}));
|
|
160
161
|
baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
161
162
|
body = options.body ? JSON.stringify(options.body, null, 2) : undefined;
|
|
@@ -164,12 +165,12 @@ function request(options) {
|
|
|
164
165
|
: '';
|
|
165
166
|
url = "".concat(baseUrl).concat(options.url).concat(queryString);
|
|
166
167
|
if (logLevel >= LogLevel.BASIC) {
|
|
167
|
-
|
|
168
|
+
log("[".concat(requestId, "] ").concat(options.method, " ").concat(url));
|
|
168
169
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
169
170
|
try {
|
|
170
171
|
for (_a = __values(Object.entries(headers || {})), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
171
172
|
_c = __read(_b.value, 2), key = _c[0], value = _c[1];
|
|
172
|
-
|
|
173
|
+
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
176
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -181,7 +182,7 @@ function request(options) {
|
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
if (logLevel >= LogLevel.BODY && body) {
|
|
184
|
-
|
|
185
|
+
log("[".concat(requestId, "] ").concat(body));
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
188
|
_f.label = 1;
|
|
@@ -203,7 +204,7 @@ function request(options) {
|
|
|
203
204
|
parseInt(response_1.headers.get('X-RateLimit-Reset'), 10)
|
|
204
205
|
: retryCount;
|
|
205
206
|
if (logLevel >= LogLevel.BASIC) {
|
|
206
|
-
|
|
207
|
+
log("[".concat(requestId, "] Rate limit exceeded, waiting ").concat(waitTimeInSecs, " seconds..."));
|
|
207
208
|
}
|
|
208
209
|
return [4 /*yield*/, wait(waitTimeInSecs * 1000)];
|
|
209
210
|
case 3:
|
|
@@ -211,7 +212,7 @@ function request(options) {
|
|
|
211
212
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
212
213
|
case 4:
|
|
213
214
|
if (logLevel >= LogLevel.BASIC) {
|
|
214
|
-
|
|
215
|
+
log("[".concat(requestId, "] Status: ").concat(response_1.status, " (").concat(response_1.statusText, ")"));
|
|
215
216
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
216
217
|
[
|
|
217
218
|
'content-type',
|
|
@@ -219,10 +220,11 @@ function request(options) {
|
|
|
219
220
|
'x-environment',
|
|
220
221
|
'x-queue-time',
|
|
221
222
|
'x-ratelimit-remaining',
|
|
223
|
+
'x-request-id',
|
|
222
224
|
].forEach(function (key) {
|
|
223
225
|
var value = response_1.headers.get(key);
|
|
224
226
|
if (value) {
|
|
225
|
-
|
|
227
|
+
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
226
228
|
}
|
|
227
229
|
});
|
|
228
230
|
}
|
|
@@ -237,7 +239,7 @@ function request(options) {
|
|
|
237
239
|
case 7:
|
|
238
240
|
responseBody = _d;
|
|
239
241
|
if (logLevel >= LogLevel.BODY && responseBody) {
|
|
240
|
-
|
|
242
|
+
log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
|
|
241
243
|
}
|
|
242
244
|
if (!(response_1.status === 202)) return [3 /*break*/, 9];
|
|
243
245
|
return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
|
|
@@ -255,7 +257,7 @@ function request(options) {
|
|
|
255
257
|
error = new ApiError_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response_1, responseBody, preCallStack));
|
|
256
258
|
if (!(autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS'))) return [3 /*break*/, 11];
|
|
257
259
|
if (logLevel >= LogLevel.BASIC) {
|
|
258
|
-
|
|
260
|
+
log("[".concat(requestId, "] Data validation in progress, waiting ").concat(retryCount, " seconds..."));
|
|
259
261
|
}
|
|
260
262
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
261
263
|
case 10:
|
|
@@ -266,7 +268,7 @@ function request(options) {
|
|
|
266
268
|
error_1 = _f.sent();
|
|
267
269
|
if (!(isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT'))) return [3 /*break*/, 14];
|
|
268
270
|
if (logLevel >= LogLevel.BASIC) {
|
|
269
|
-
|
|
271
|
+
log("[".concat(requestId, "] Error ").concat(error_1.code, ", waiting ").concat(retryCount, " seconds..."));
|
|
270
272
|
}
|
|
271
273
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
272
274
|
case 13:
|
package/dist/cjs/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AACpB,4DAAgC;AAChC,uCAA0D;AAG1D,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,iBAAiB;IACjB,uCAAQ,CAAA;IACR,8DAA8D;IAC9D,yCAAS,CAAA;IACT,0EAA0E;IAC1E,uCAAQ,CAAA;IACR,4FAA4F;IAC5F,+DAAoB,CAAA;AACtB,CAAC,EATW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QASnB;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/request.d.ts
CHANGED
package/dist/esm/request.js
CHANGED
|
@@ -138,7 +138,7 @@ function isErrorWithCode(error) {
|
|
|
138
138
|
var requestCount = 1;
|
|
139
139
|
export function request(options) {
|
|
140
140
|
return __awaiter(this, void 0, void 0, function () {
|
|
141
|
-
var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, headers, baseUrl, body, queryString, url, _a, _b, _c, key, value, response_1, waitTimeInSecs, responseBody, _d, jobResult, error, error_1;
|
|
141
|
+
var requestId, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _a, _b, _c, key, value, response_1, waitTimeInSecs, responseBody, _d, jobResult, error, error_1;
|
|
142
142
|
var e_1, _e;
|
|
143
143
|
return __generator(this, function (_f) {
|
|
144
144
|
switch (_f.label) {
|
|
@@ -150,6 +150,7 @@ export function request(options) {
|
|
|
150
150
|
retryCount = options.retryCount || 1;
|
|
151
151
|
logLevel = options.logLevel || LogLevel.NONE;
|
|
152
152
|
autoRetry = 'autoRetry' in options ? options.autoRetry : true;
|
|
153
|
+
log = options.logFn || (function () { return true; });
|
|
153
154
|
headers = __assign({ 'content-type': 'application/json', accept: 'application/json', authorization: "Bearer ".concat(options.apiToken), 'user-agent': userAgent }, (options.extraHeaders || {}));
|
|
154
155
|
baseUrl = options.baseUrl.replace(/\/$/, '');
|
|
155
156
|
body = options.body ? JSON.stringify(options.body, null, 2) : undefined;
|
|
@@ -158,12 +159,12 @@ export function request(options) {
|
|
|
158
159
|
: '';
|
|
159
160
|
url = "".concat(baseUrl).concat(options.url).concat(queryString);
|
|
160
161
|
if (logLevel >= LogLevel.BASIC) {
|
|
161
|
-
|
|
162
|
+
log("[".concat(requestId, "] ").concat(options.method, " ").concat(url));
|
|
162
163
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
163
164
|
try {
|
|
164
165
|
for (_a = __values(Object.entries(headers || {})), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
165
166
|
_c = __read(_b.value, 2), key = _c[0], value = _c[1];
|
|
166
|
-
|
|
167
|
+
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -175,7 +176,7 @@ export function request(options) {
|
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
if (logLevel >= LogLevel.BODY && body) {
|
|
178
|
-
|
|
179
|
+
log("[".concat(requestId, "] ").concat(body));
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
182
|
_f.label = 1;
|
|
@@ -197,7 +198,7 @@ export function request(options) {
|
|
|
197
198
|
parseInt(response_1.headers.get('X-RateLimit-Reset'), 10)
|
|
198
199
|
: retryCount;
|
|
199
200
|
if (logLevel >= LogLevel.BASIC) {
|
|
200
|
-
|
|
201
|
+
log("[".concat(requestId, "] Rate limit exceeded, waiting ").concat(waitTimeInSecs, " seconds..."));
|
|
201
202
|
}
|
|
202
203
|
return [4 /*yield*/, wait(waitTimeInSecs * 1000)];
|
|
203
204
|
case 3:
|
|
@@ -205,7 +206,7 @@ export function request(options) {
|
|
|
205
206
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
206
207
|
case 4:
|
|
207
208
|
if (logLevel >= LogLevel.BASIC) {
|
|
208
|
-
|
|
209
|
+
log("[".concat(requestId, "] Status: ").concat(response_1.status, " (").concat(response_1.statusText, ")"));
|
|
209
210
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
210
211
|
[
|
|
211
212
|
'content-type',
|
|
@@ -213,10 +214,11 @@ export function request(options) {
|
|
|
213
214
|
'x-environment',
|
|
214
215
|
'x-queue-time',
|
|
215
216
|
'x-ratelimit-remaining',
|
|
217
|
+
'x-request-id',
|
|
216
218
|
].forEach(function (key) {
|
|
217
219
|
var value = response_1.headers.get(key);
|
|
218
220
|
if (value) {
|
|
219
|
-
|
|
221
|
+
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
220
222
|
}
|
|
221
223
|
});
|
|
222
224
|
}
|
|
@@ -231,7 +233,7 @@ export function request(options) {
|
|
|
231
233
|
case 7:
|
|
232
234
|
responseBody = _d;
|
|
233
235
|
if (logLevel >= LogLevel.BODY && responseBody) {
|
|
234
|
-
|
|
236
|
+
log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
|
|
235
237
|
}
|
|
236
238
|
if (!(response_1.status === 202)) return [3 /*break*/, 9];
|
|
237
239
|
return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
|
|
@@ -249,7 +251,7 @@ export function request(options) {
|
|
|
249
251
|
error = new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response_1, responseBody, preCallStack));
|
|
250
252
|
if (!(autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS'))) return [3 /*break*/, 11];
|
|
251
253
|
if (logLevel >= LogLevel.BASIC) {
|
|
252
|
-
|
|
254
|
+
log("[".concat(requestId, "] Data validation in progress, waiting ").concat(retryCount, " seconds..."));
|
|
253
255
|
}
|
|
254
256
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
255
257
|
case 10:
|
|
@@ -260,7 +262,7 @@ export function request(options) {
|
|
|
260
262
|
error_1 = _f.sent();
|
|
261
263
|
if (!(isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT'))) return [3 /*break*/, 14];
|
|
262
264
|
if (logLevel >= LogLevel.BASIC) {
|
|
263
|
-
|
|
265
|
+
log("[".concat(requestId, "] Error ").concat(error_1.code, ", waiting ").concat(retryCount, " seconds..."));
|
|
264
266
|
}
|
|
265
267
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
266
268
|
case 13:
|
package/dist/esm/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAG1D,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,iBAAiB;IACjB,uCAAQ,CAAA;IACR,8DAA8D;IAC9D,yCAAS,CAAA;IACT,0EAA0E;IAC1E,uCAAQ,CAAA;IACR,4FAA4F;IAC5F,+DAAoB,CAAA;AACtB,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"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"}
|
package/dist/types/request.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datocms/rest-client-utils",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Utilities for DatoCMS REST API clients",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"datocms",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"cross-fetch": "^3.1.5",
|
|
41
41
|
"qs": "^6.10.3"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "dc93ff1a234e3e95a1db409b44c3fe538afd8a1e"
|
|
44
44
|
}
|
package/src/request.ts
CHANGED
|
@@ -27,6 +27,7 @@ type RequestOptions = {
|
|
|
27
27
|
queryParams?: Record<string, unknown>;
|
|
28
28
|
body?: unknown;
|
|
29
29
|
preCallStack?: string;
|
|
30
|
+
logFn?: (message: string) => void;
|
|
30
31
|
userAgent?: string;
|
|
31
32
|
};
|
|
32
33
|
|
|
@@ -113,6 +114,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
113
114
|
const retryCount = options.retryCount || 1;
|
|
114
115
|
const logLevel = options.logLevel || LogLevel.NONE;
|
|
115
116
|
const autoRetry = 'autoRetry' in options ? options.autoRetry : true;
|
|
117
|
+
const log = options.logFn || (() => true);
|
|
116
118
|
|
|
117
119
|
const headers = {
|
|
118
120
|
'content-type': 'application/json',
|
|
@@ -133,14 +135,14 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
133
135
|
const url = `${baseUrl}${options.url}${queryString}`;
|
|
134
136
|
|
|
135
137
|
if (logLevel >= LogLevel.BASIC) {
|
|
136
|
-
|
|
138
|
+
log(`[${requestId}] ${options.method} ${url}`);
|
|
137
139
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
138
140
|
for (const [key, value] of Object.entries(headers || {})) {
|
|
139
|
-
|
|
141
|
+
log(`[${requestId}] ${key}: ${value}`);
|
|
140
142
|
}
|
|
141
143
|
}
|
|
142
144
|
if (logLevel >= LogLevel.BODY && body) {
|
|
143
|
-
|
|
145
|
+
log(`[${requestId}] ${body}`);
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
148
|
|
|
@@ -172,7 +174,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
172
174
|
: retryCount;
|
|
173
175
|
|
|
174
176
|
if (logLevel >= LogLevel.BASIC) {
|
|
175
|
-
|
|
177
|
+
log(
|
|
176
178
|
`[${requestId}] Rate limit exceeded, waiting ${waitTimeInSecs} seconds...`,
|
|
177
179
|
);
|
|
178
180
|
}
|
|
@@ -183,9 +185,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
183
185
|
}
|
|
184
186
|
|
|
185
187
|
if (logLevel >= LogLevel.BASIC) {
|
|
186
|
-
|
|
187
|
-
`[${requestId}] Status: ${response.status} (${response.statusText})`,
|
|
188
|
-
);
|
|
188
|
+
log(`[${requestId}] Status: ${response.status} (${response.statusText})`);
|
|
189
189
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
190
190
|
[
|
|
191
191
|
'content-type',
|
|
@@ -193,10 +193,11 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
193
193
|
'x-environment',
|
|
194
194
|
'x-queue-time',
|
|
195
195
|
'x-ratelimit-remaining',
|
|
196
|
+
'x-request-id',
|
|
196
197
|
].forEach((key) => {
|
|
197
198
|
const value = response.headers.get(key);
|
|
198
199
|
if (value) {
|
|
199
|
-
|
|
200
|
+
log(`[${requestId}] ${key}: ${value}`);
|
|
200
201
|
}
|
|
201
202
|
});
|
|
202
203
|
}
|
|
@@ -206,7 +207,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
206
207
|
response.status === 204 ? undefined : await response.json();
|
|
207
208
|
|
|
208
209
|
if (logLevel >= LogLevel.BODY && responseBody) {
|
|
209
|
-
|
|
210
|
+
log(`[${requestId}] ${JSON.stringify(responseBody, null, 2)}`);
|
|
210
211
|
}
|
|
211
212
|
|
|
212
213
|
if (response.status === 202) {
|
|
@@ -247,7 +248,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
247
248
|
|
|
248
249
|
if (autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS')) {
|
|
249
250
|
if (logLevel >= LogLevel.BASIC) {
|
|
250
|
-
|
|
251
|
+
log(
|
|
251
252
|
`[${requestId}] Data validation in progress, waiting ${retryCount} seconds...`,
|
|
252
253
|
);
|
|
253
254
|
}
|
|
@@ -261,7 +262,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
261
262
|
} catch (error) {
|
|
262
263
|
if (isErrorWithCode(error) && error.code.includes('ETIMEDOUT')) {
|
|
263
264
|
if (logLevel >= LogLevel.BASIC) {
|
|
264
|
-
|
|
265
|
+
log(
|
|
265
266
|
`[${requestId}] Error ${error.code}, waiting ${retryCount} seconds...`,
|
|
266
267
|
);
|
|
267
268
|
}
|