@datocms/rest-client-utils 3.1.4 → 3.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 +34 -33
- package/dist/cjs/request.js.map +1 -1
- package/dist/esm/request.js +34 -33
- package/dist/esm/request.js.map +1 -1
- package/package.json +2 -2
- package/src/request.ts +16 -5
package/dist/cjs/request.js
CHANGED
|
@@ -130,9 +130,9 @@ function lowercaseKeys(obj) {
|
|
|
130
130
|
var requestCount = 1;
|
|
131
131
|
function request(options) {
|
|
132
132
|
return __awaiter(this, void 0, void 0, function () {
|
|
133
|
-
var requestId, fetchFn, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _a, _b, key, value, requestPromise_1, timeoutId,
|
|
134
|
-
return __generator(this, function (
|
|
135
|
-
switch (
|
|
133
|
+
var requestId, fetchFn, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _a, _b, key, value, requestPromise_1, timeoutId, response, responseContentType, invalidContentType, waitTimeInSecs, _c, _d, key, value, responseBody, _e, jobResult, error, error_1;
|
|
134
|
+
return __generator(this, function (_f) {
|
|
135
|
+
switch (_f.label) {
|
|
136
136
|
case 0:
|
|
137
137
|
requestId = requestCount;
|
|
138
138
|
requestCount += 1;
|
|
@@ -171,9 +171,9 @@ function request(options) {
|
|
|
171
171
|
log("[".concat(requestId, "] ").concat(body));
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
|
|
174
|
+
_f.label = 1;
|
|
175
175
|
case 1:
|
|
176
|
-
|
|
176
|
+
_f.trys.push([1, 12, , 16]);
|
|
177
177
|
requestPromise_1 = (0, makeCancelablePromise_1.makeCancelablePromise)(fetchFn(url, {
|
|
178
178
|
method: options.method,
|
|
179
179
|
headers: headers,
|
|
@@ -184,85 +184,86 @@ function request(options) {
|
|
|
184
184
|
}, options.requestTimeout || 30000);
|
|
185
185
|
return [4 /*yield*/, requestPromise_1];
|
|
186
186
|
case 2:
|
|
187
|
-
|
|
187
|
+
response = _f.sent();
|
|
188
188
|
clearTimeout(timeoutId);
|
|
189
|
-
responseContentType =
|
|
189
|
+
responseContentType = response.headers.get('Content-Type');
|
|
190
190
|
invalidContentType = responseContentType && !responseContentType.includes('application/json');
|
|
191
|
-
if (!(
|
|
191
|
+
if (!(response.status === 429 || invalidContentType)) return [3 /*break*/, 4];
|
|
192
192
|
if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
|
|
193
|
-
throw new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body,
|
|
193
|
+
throw new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, undefined, preCallStack));
|
|
194
194
|
}
|
|
195
|
-
waitTimeInSecs =
|
|
196
|
-
? parseInt(
|
|
195
|
+
waitTimeInSecs = response.headers.has('X-RateLimit-Reset')
|
|
196
|
+
? parseInt(response.headers.get('X-RateLimit-Reset'), 10)
|
|
197
197
|
: retryCount;
|
|
198
198
|
if (logLevel >= LogLevel.BASIC) {
|
|
199
|
-
if (
|
|
199
|
+
if (response.status === 429) {
|
|
200
200
|
log("[".concat(requestId, "] Rate limit exceeded, wait ").concat(waitTimeInSecs, " seconds then retry..."));
|
|
201
201
|
}
|
|
202
202
|
else {
|
|
203
|
-
log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(
|
|
203
|
+
log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(response.status, "). Wait ").concat(waitTimeInSecs, " seconds then retry..."));
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
return [4 /*yield*/, (0, wait_1.wait)(waitTimeInSecs * 1000)];
|
|
207
207
|
case 3:
|
|
208
|
-
|
|
208
|
+
_f.sent();
|
|
209
209
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
210
210
|
case 4:
|
|
211
211
|
if (logLevel >= LogLevel.BASIC) {
|
|
212
|
-
log("[".concat(requestId, "] Status: ").concat(
|
|
212
|
+
log("[".concat(requestId, "] Status: ").concat(response.status, " (").concat(response.statusText, ")"));
|
|
213
213
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
214
|
-
[
|
|
214
|
+
for (_c = 0, _d = [
|
|
215
215
|
'x-api-version',
|
|
216
216
|
'x-environment',
|
|
217
217
|
'x-queue-time',
|
|
218
218
|
'x-ratelimit-remaining',
|
|
219
219
|
'x-request-id',
|
|
220
220
|
'cf-ray',
|
|
221
|
-
].
|
|
222
|
-
|
|
221
|
+
]; _c < _d.length; _c++) {
|
|
222
|
+
key = _d[_c];
|
|
223
|
+
value = response.headers.get(key);
|
|
223
224
|
if (value) {
|
|
224
225
|
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
225
226
|
}
|
|
226
|
-
}
|
|
227
|
+
}
|
|
227
228
|
}
|
|
228
229
|
}
|
|
229
|
-
if (!(
|
|
230
|
-
|
|
230
|
+
if (!(response.status === 204)) return [3 /*break*/, 5];
|
|
231
|
+
_e = undefined;
|
|
231
232
|
return [3 /*break*/, 7];
|
|
232
|
-
case 5: return [4 /*yield*/,
|
|
233
|
+
case 5: return [4 /*yield*/, response.json()];
|
|
233
234
|
case 6:
|
|
234
|
-
|
|
235
|
-
|
|
235
|
+
_e = _f.sent();
|
|
236
|
+
_f.label = 7;
|
|
236
237
|
case 7:
|
|
237
|
-
responseBody =
|
|
238
|
+
responseBody = _e;
|
|
238
239
|
if (logLevel >= LogLevel.BODY && responseBody) {
|
|
239
240
|
log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
|
|
240
241
|
}
|
|
241
|
-
if (!(
|
|
242
|
+
if (!(response.status === 202)) return [3 /*break*/, 9];
|
|
242
243
|
return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
|
|
243
244
|
case 8:
|
|
244
|
-
jobResult =
|
|
245
|
+
jobResult = _f.sent();
|
|
245
246
|
if (jobResult.status < 200 || jobResult.status >= 300) {
|
|
246
247
|
throw new errors_1.ApiError(buildApiErrorInitObjectFromJobResult(options.method, url, headers, options.body, jobResult.status, jobResult.payload, preCallStack));
|
|
247
248
|
}
|
|
248
249
|
responseBody = jobResult.payload;
|
|
249
|
-
|
|
250
|
+
_f.label = 9;
|
|
250
251
|
case 9:
|
|
251
|
-
if (
|
|
252
|
+
if (response.status >= 200 && response.status < 300) {
|
|
252
253
|
return [2 /*return*/, responseBody];
|
|
253
254
|
}
|
|
254
|
-
error = new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body,
|
|
255
|
+
error = new errors_1.ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, responseBody, preCallStack));
|
|
255
256
|
if (!(autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS'))) return [3 /*break*/, 11];
|
|
256
257
|
if (logLevel >= LogLevel.BASIC) {
|
|
257
258
|
log("[".concat(requestId, "] Data validation in progress, wait ").concat(retryCount, " seconds then retry..."));
|
|
258
259
|
}
|
|
259
260
|
return [4 /*yield*/, (0, wait_1.wait)(retryCount * 1000)];
|
|
260
261
|
case 10:
|
|
261
|
-
|
|
262
|
+
_f.sent();
|
|
262
263
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
263
264
|
case 11: throw error;
|
|
264
265
|
case 12:
|
|
265
|
-
error_1 =
|
|
266
|
+
error_1 = _f.sent();
|
|
266
267
|
if (!(error_1 instanceof makeCancelablePromise_1.CanceledPromiseError ||
|
|
267
268
|
(isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT')))) return [3 /*break*/, 15];
|
|
268
269
|
if (!(autoRetry && retryCount < MAX_RETRY_COUNT_ON_TIMEOUT_ERROR)) return [3 /*break*/, 14];
|
|
@@ -271,7 +272,7 @@ function request(options) {
|
|
|
271
272
|
}
|
|
272
273
|
return [4 /*yield*/, (0, wait_1.wait)(retryCount * 1000)];
|
|
273
274
|
case 13:
|
|
274
|
-
|
|
275
|
+
_f.sent();
|
|
275
276
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
276
277
|
case 14: throw new errors_1.TimeoutError(buildTimeoutErrorInitObject(options.method, url, headers, options.body, preCallStack));
|
|
277
278
|
case 15: throw error_1;
|
package/dist/cjs/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":";AAAA,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3B,iEAAgE;AAChE,mCAKkB;AAElB,iEAGiC;AACjC,+BAA8B;AAE9B,IAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AAE1E,IAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,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.js
CHANGED
|
@@ -127,9 +127,9 @@ function lowercaseKeys(obj) {
|
|
|
127
127
|
var requestCount = 1;
|
|
128
128
|
export function request(options) {
|
|
129
129
|
return __awaiter(this, void 0, void 0, function () {
|
|
130
|
-
var requestId, fetchFn, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _a, _b, key, value, requestPromise_1, timeoutId,
|
|
131
|
-
return __generator(this, function (
|
|
132
|
-
switch (
|
|
130
|
+
var requestId, fetchFn, preCallStack, userAgent, retryCount, logLevel, autoRetry, log, headers, baseUrl, body, queryString, url, _i, _a, _b, key, value, requestPromise_1, timeoutId, response, responseContentType, invalidContentType, waitTimeInSecs, _c, _d, key, value, responseBody, _e, jobResult, error, error_1;
|
|
131
|
+
return __generator(this, function (_f) {
|
|
132
|
+
switch (_f.label) {
|
|
133
133
|
case 0:
|
|
134
134
|
requestId = requestCount;
|
|
135
135
|
requestCount += 1;
|
|
@@ -168,9 +168,9 @@ export function request(options) {
|
|
|
168
168
|
log("[".concat(requestId, "] ").concat(body));
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
|
-
|
|
171
|
+
_f.label = 1;
|
|
172
172
|
case 1:
|
|
173
|
-
|
|
173
|
+
_f.trys.push([1, 12, , 16]);
|
|
174
174
|
requestPromise_1 = makeCancelablePromise(fetchFn(url, {
|
|
175
175
|
method: options.method,
|
|
176
176
|
headers: headers,
|
|
@@ -181,85 +181,86 @@ export function request(options) {
|
|
|
181
181
|
}, options.requestTimeout || 30000);
|
|
182
182
|
return [4 /*yield*/, requestPromise_1];
|
|
183
183
|
case 2:
|
|
184
|
-
|
|
184
|
+
response = _f.sent();
|
|
185
185
|
clearTimeout(timeoutId);
|
|
186
|
-
responseContentType =
|
|
186
|
+
responseContentType = response.headers.get('Content-Type');
|
|
187
187
|
invalidContentType = responseContentType && !responseContentType.includes('application/json');
|
|
188
|
-
if (!(
|
|
188
|
+
if (!(response.status === 429 || invalidContentType)) return [3 /*break*/, 4];
|
|
189
189
|
if (!autoRetry || (invalidContentType && options.method !== 'GET')) {
|
|
190
|
-
throw new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body,
|
|
190
|
+
throw new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, undefined, preCallStack));
|
|
191
191
|
}
|
|
192
|
-
waitTimeInSecs =
|
|
193
|
-
? parseInt(
|
|
192
|
+
waitTimeInSecs = response.headers.has('X-RateLimit-Reset')
|
|
193
|
+
? parseInt(response.headers.get('X-RateLimit-Reset'), 10)
|
|
194
194
|
: retryCount;
|
|
195
195
|
if (logLevel >= LogLevel.BASIC) {
|
|
196
|
-
if (
|
|
196
|
+
if (response.status === 429) {
|
|
197
197
|
log("[".concat(requestId, "] Rate limit exceeded, wait ").concat(waitTimeInSecs, " seconds then retry..."));
|
|
198
198
|
}
|
|
199
199
|
else {
|
|
200
|
-
log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(
|
|
200
|
+
log("[".concat(requestId, "] Invalid response content type \"").concat(responseContentType, "\" (status ").concat(response.status, "). Wait ").concat(waitTimeInSecs, " seconds then retry..."));
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
return [4 /*yield*/, wait(waitTimeInSecs * 1000)];
|
|
204
204
|
case 3:
|
|
205
|
-
|
|
205
|
+
_f.sent();
|
|
206
206
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
207
207
|
case 4:
|
|
208
208
|
if (logLevel >= LogLevel.BASIC) {
|
|
209
|
-
log("[".concat(requestId, "] Status: ").concat(
|
|
209
|
+
log("[".concat(requestId, "] Status: ").concat(response.status, " (").concat(response.statusText, ")"));
|
|
210
210
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
211
|
-
[
|
|
211
|
+
for (_c = 0, _d = [
|
|
212
212
|
'x-api-version',
|
|
213
213
|
'x-environment',
|
|
214
214
|
'x-queue-time',
|
|
215
215
|
'x-ratelimit-remaining',
|
|
216
216
|
'x-request-id',
|
|
217
217
|
'cf-ray',
|
|
218
|
-
].
|
|
219
|
-
|
|
218
|
+
]; _c < _d.length; _c++) {
|
|
219
|
+
key = _d[_c];
|
|
220
|
+
value = response.headers.get(key);
|
|
220
221
|
if (value) {
|
|
221
222
|
log("[".concat(requestId, "] ").concat(key, ": ").concat(value));
|
|
222
223
|
}
|
|
223
|
-
}
|
|
224
|
+
}
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
|
-
if (!(
|
|
227
|
-
|
|
227
|
+
if (!(response.status === 204)) return [3 /*break*/, 5];
|
|
228
|
+
_e = undefined;
|
|
228
229
|
return [3 /*break*/, 7];
|
|
229
|
-
case 5: return [4 /*yield*/,
|
|
230
|
+
case 5: return [4 /*yield*/, response.json()];
|
|
230
231
|
case 6:
|
|
231
|
-
|
|
232
|
-
|
|
232
|
+
_e = _f.sent();
|
|
233
|
+
_f.label = 7;
|
|
233
234
|
case 7:
|
|
234
|
-
responseBody =
|
|
235
|
+
responseBody = _e;
|
|
235
236
|
if (logLevel >= LogLevel.BODY && responseBody) {
|
|
236
237
|
log("[".concat(requestId, "] ").concat(JSON.stringify(responseBody, null, 2)));
|
|
237
238
|
}
|
|
238
|
-
if (!(
|
|
239
|
+
if (!(response.status === 202)) return [3 /*break*/, 9];
|
|
239
240
|
return [4 /*yield*/, options.fetchJobResult(responseBody.data.id)];
|
|
240
241
|
case 8:
|
|
241
|
-
jobResult =
|
|
242
|
+
jobResult = _f.sent();
|
|
242
243
|
if (jobResult.status < 200 || jobResult.status >= 300) {
|
|
243
244
|
throw new ApiError(buildApiErrorInitObjectFromJobResult(options.method, url, headers, options.body, jobResult.status, jobResult.payload, preCallStack));
|
|
244
245
|
}
|
|
245
246
|
responseBody = jobResult.payload;
|
|
246
|
-
|
|
247
|
+
_f.label = 9;
|
|
247
248
|
case 9:
|
|
248
|
-
if (
|
|
249
|
+
if (response.status >= 200 && response.status < 300) {
|
|
249
250
|
return [2 /*return*/, responseBody];
|
|
250
251
|
}
|
|
251
|
-
error = new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body,
|
|
252
|
+
error = new ApiError(buildApiErrorInitObject(options.method, url, headers, options.body, response, responseBody, preCallStack));
|
|
252
253
|
if (!(autoRetry && error.findError('BATCH_DATA_VALIDATION_IN_PROGRESS'))) return [3 /*break*/, 11];
|
|
253
254
|
if (logLevel >= LogLevel.BASIC) {
|
|
254
255
|
log("[".concat(requestId, "] Data validation in progress, wait ").concat(retryCount, " seconds then retry..."));
|
|
255
256
|
}
|
|
256
257
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
257
258
|
case 10:
|
|
258
|
-
|
|
259
|
+
_f.sent();
|
|
259
260
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
260
261
|
case 11: throw error;
|
|
261
262
|
case 12:
|
|
262
|
-
error_1 =
|
|
263
|
+
error_1 = _f.sent();
|
|
263
264
|
if (!(error_1 instanceof CanceledPromiseError ||
|
|
264
265
|
(isErrorWithCode(error_1) && error_1.code.includes('ETIMEDOUT')))) return [3 /*break*/, 15];
|
|
265
266
|
if (!(autoRetry && retryCount < MAX_RETRY_COUNT_ON_TIMEOUT_ERROR)) return [3 /*break*/, 14];
|
|
@@ -268,7 +269,7 @@ export function request(options) {
|
|
|
268
269
|
}
|
|
269
270
|
return [4 /*yield*/, wait(retryCount * 1000)];
|
|
270
271
|
case 13:
|
|
271
|
-
|
|
272
|
+
_f.sent();
|
|
272
273
|
return [2 /*return*/, request(__assign(__assign({}, options), { retryCount: retryCount + 1 }))];
|
|
273
274
|
case 14: throw new TimeoutError(buildTimeoutErrorInitObject(options.method, url, headers, options.body, preCallStack));
|
|
274
275
|
case 15: throw error_1;
|
package/dist/esm/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,QAAQ,EAER,YAAY,GAEb,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,IAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;AAE1E,IAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datocms/rest-client-utils",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5",
|
|
4
4
|
"description": "Utilities for DatoCMS REST API clients",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"datocms",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"async-scheduler": "^1.4.4"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "889c19a9678129b7b8883d0ee5ee0b281faf4568",
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/qs": "^6.9.7"
|
|
44
44
|
}
|
package/src/request.ts
CHANGED
|
@@ -30,6 +30,15 @@ export enum LogLevel {
|
|
|
30
30
|
BODY_AND_HEADERS = 3,
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
type Job = {
|
|
34
|
+
type: 'job';
|
|
35
|
+
id: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
type JobResponse = {
|
|
39
|
+
data: Job;
|
|
40
|
+
};
|
|
41
|
+
|
|
33
42
|
type RequestOptions = {
|
|
34
43
|
baseUrl: string;
|
|
35
44
|
fetchJobResult: (jobId: string) => Promise<JobResult>;
|
|
@@ -260,19 +269,19 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
260
269
|
if (logLevel >= LogLevel.BASIC) {
|
|
261
270
|
log(`[${requestId}] Status: ${response.status} (${response.statusText})`);
|
|
262
271
|
if (logLevel >= LogLevel.BODY_AND_HEADERS) {
|
|
263
|
-
[
|
|
272
|
+
for (const key of [
|
|
264
273
|
'x-api-version',
|
|
265
274
|
'x-environment',
|
|
266
275
|
'x-queue-time',
|
|
267
276
|
'x-ratelimit-remaining',
|
|
268
277
|
'x-request-id',
|
|
269
278
|
'cf-ray',
|
|
270
|
-
]
|
|
279
|
+
]) {
|
|
271
280
|
const value = response.headers.get(key);
|
|
272
281
|
if (value) {
|
|
273
282
|
log(`[${requestId}] ${key}: ${value}`);
|
|
274
283
|
}
|
|
275
|
-
}
|
|
284
|
+
}
|
|
276
285
|
}
|
|
277
286
|
}
|
|
278
287
|
|
|
@@ -284,7 +293,9 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
284
293
|
}
|
|
285
294
|
|
|
286
295
|
if (response.status === 202) {
|
|
287
|
-
const jobResult = await options.fetchJobResult(
|
|
296
|
+
const jobResult = await options.fetchJobResult(
|
|
297
|
+
(responseBody as JobResponse).data.id,
|
|
298
|
+
);
|
|
288
299
|
|
|
289
300
|
if (jobResult.status < 200 || jobResult.status >= 300) {
|
|
290
301
|
throw new ApiError(
|
|
@@ -304,7 +315,7 @@ export async function request<T>(options: RequestOptions): Promise<T> {
|
|
|
304
315
|
}
|
|
305
316
|
|
|
306
317
|
if (response.status >= 200 && response.status < 300) {
|
|
307
|
-
return responseBody;
|
|
318
|
+
return responseBody as T;
|
|
308
319
|
}
|
|
309
320
|
|
|
310
321
|
const error = new ApiError(
|