Fixes [API Error: Cannot read properties of undefined (reading 'error')] (#14553)

This commit is contained in:
Silvio Junior
2025-12-04 20:18:37 -05:00
committed by GitHub
parent 290ede93e2
commit 7db5abdecf
2 changed files with 144 additions and 5 deletions
+8 -4
View File
@@ -92,7 +92,7 @@ export function toFriendlyError(error: unknown): unknown {
if (error && typeof error === 'object' && 'response' in error) {
const gaxiosError = error as GaxiosError;
const data = parseResponseData(gaxiosError);
if (data.error && data.error.message && data.error.code) {
if (data && data.error && data.error.message && data.error.code) {
switch (data.error.code) {
case 400:
return new BadRequestError(data.error.message);
@@ -110,12 +110,16 @@ export function toFriendlyError(error: unknown): unknown {
return error;
}
function parseResponseData(error: GaxiosError): ResponseData {
function parseResponseData(error: GaxiosError): ResponseData | undefined {
// Inexplicably, Gaxios sometimes doesn't JSONify the response data.
if (typeof error.response?.data === 'string') {
return JSON.parse(error.response?.data) as ResponseData;
try {
return JSON.parse(error.response?.data) as ResponseData;
} catch {
return undefined;
}
}
return error.response?.data as ResponseData;
return error.response?.data as ResponseData | undefined;
}
/**