mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-24 03:54:43 -07:00
Fixes [API Error: Cannot read properties of undefined (reading 'error')] (#14553)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user