diff --git a/src/core.ts b/src/core.ts index cc36b631..3df828db 100644 --- a/src/core.ts +++ b/src/core.ts @@ -370,7 +370,7 @@ export abstract class APIClient { return this.retryRequest(options, retriesRemaining, responseHeaders); } - const errText = await response.text().catch(() => 'Unknown'); + const errText = await response.text().catch((e) => castToError(e).message); const errJSON = safeJSON(errText); const errMessage = errJSON ? undefined : errText; diff --git a/src/error.ts b/src/error.ts index 7cc10ab4..d9b00ceb 100644 --- a/src/error.ts +++ b/src/error.ts @@ -13,7 +13,7 @@ export class APIError extends Error { message: string | undefined, headers: Headers | undefined, ) { - super(APIError.makeMessage(error, message)); + super(`${status} ${APIError.makeMessage(error, message)}`); this.status = status; this.headers = headers; this.error = error; @@ -25,7 +25,7 @@ export class APIError extends Error { typeof error.message === 'string' ? error.message : JSON.stringify(error.message) : error ? JSON.stringify(error) - : message || 'Unknown error occurred' + : message || 'status code (no body)' ); }