@@ -21,6 +21,7 @@ const {
21
21
* @property {string } [asUser] - Optional header for making requests on behalf of a user.
22
22
* @property {object } [customHeaders] - Any additional custom headers for the request.
23
23
* @property {boolean } [throttle] - Flag to enable throttling of requests.
24
+ * @property {boolean } [throwOriginalException] - Throw the original exception when API requests fail.
24
25
* @property {CustomEventTarget } eventTarget - Event target to handle custom events.
25
26
* @property {Array } sideLoad - Array to handle side-loaded resources.
26
27
* @property {Array } jsonAPINames - Array to hold names used in the JSON API.
@@ -166,11 +167,7 @@ class Client {
166
167
! Array . isArray ( args . at ( - 1 ) ) &&
167
168
args . pop ( ) ;
168
169
169
- try {
170
- return await this . transporter . request ( method , uri , body ) ;
171
- } catch ( error ) {
172
- throw new Error ( `Raw request failed: ${ error . message } ` ) ;
173
- }
170
+ return await this . transporter . request ( method , uri , body ) ;
174
171
}
175
172
176
173
/**
@@ -197,6 +194,10 @@ class Client {
197
194
) ;
198
195
return { response, result : responseBody } ;
199
196
} catch ( error ) {
197
+ if ( this . options . throwOriginalException ) {
198
+ throw error ;
199
+ }
200
+
200
201
const {
201
202
message,
202
203
result : { error : { title = '' , message : errorMessage = '' } = { } } = { } ,
@@ -244,43 +245,30 @@ class Client {
244
245
245
246
const fetchPagesRecursively = async ( pageUri ) => {
246
247
const isIncremental = pageUri . includes ( 'incremental' ) ;
247
-
248
- try {
249
- const responseData = await __request . call (
250
- this ,
251
- method ,
252
- pageUri ,
253
- ...args ,
254
- ) ;
255
- const nextPage = processPage ( responseData ) ;
256
- if (
257
- nextPage &&
258
- ( ! isIncremental ||
259
- ( responseData . response && responseData . response . count >= 1000 ) )
260
- ) {
261
- return fetchPagesRecursively ( nextPage ) ;
262
- }
263
- } catch ( error ) {
264
- throw new Error ( `Request all failed during fetching: ${ error . message } ` ) ;
248
+ const responseData = await __request . call (
249
+ this ,
250
+ method ,
251
+ pageUri ,
252
+ ...args ,
253
+ ) ;
254
+ const nextPage = processPage ( responseData ) ;
255
+ if (
256
+ nextPage &&
257
+ ( ! isIncremental ||
258
+ ( responseData . response && responseData . response . count >= 1000 ) )
259
+ ) {
260
+ return fetchPagesRecursively ( nextPage ) ;
265
261
}
266
262
} ;
267
263
268
- try {
269
- await fetchPagesRecursively ( uri ) ;
270
- return flatten ( bodyList ) ;
271
- } catch ( error ) {
272
- throw new Error ( `RequestAll processing failed: ${ error . message } ` ) ;
273
- }
264
+ await fetchPagesRecursively ( uri ) ;
265
+ return flatten ( bodyList ) ;
274
266
}
275
267
276
268
// Request method for uploading files
277
269
async requestUpload ( uri , file ) {
278
- try {
279
- const { response, result} = await this . transporter . upload ( uri , file ) ;
280
- return checkRequestResponse ( response , result ) ;
281
- } catch ( error ) {
282
- throw new Error ( `Upload failed: ${ error . message } ` ) ;
283
- }
270
+ const { response, result} = await this . transporter . upload ( uri , file ) ;
271
+ return checkRequestResponse ( response , result ) ;
284
272
}
285
273
}
286
274
0 commit comments