@@ -72,16 +72,37 @@ export class INEClient {
|
|||||||
*/
|
*/
|
||||||
private async get<T>(url: string): Promise<INEResponse<T>> {
|
private async get<T>(url: string): Promise<INEResponse<T>> {
|
||||||
try {
|
try {
|
||||||
|
const fullUrl = `${this.baseURL}${url}`;
|
||||||
|
console.log(`INE API Request: ${fullUrl}`);
|
||||||
const response = await this.client.get<T>(url);
|
const response = await this.client.get<T>(url);
|
||||||
return {
|
return {
|
||||||
data: response.data,
|
data: response.data,
|
||||||
success: true
|
success: true
|
||||||
};
|
};
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
const fullUrl = `${this.baseURL}${url}`;
|
||||||
|
let errorMessage = error.message || 'Error desconocido';
|
||||||
|
|
||||||
|
// Proporcionar mensajes de error más útiles
|
||||||
|
if (error.response?.status === 404) {
|
||||||
|
errorMessage = `Recurso no encontrado (404). La URL solicitada no existe: ${fullUrl}. ` +
|
||||||
|
`Verifica que el ID proporcionado sea correcto. ` +
|
||||||
|
`Usa 'ine_operaciones_disponibles' para listar operaciones disponibles, ` +
|
||||||
|
`o 'ine_tablas_operacion' para listar las tablas de una operación específica.`;
|
||||||
|
} else if (error.response?.status === 400) {
|
||||||
|
errorMessage = `Solicitud incorrecta (400). Los parámetros enviados no son válidos: ${fullUrl}`;
|
||||||
|
} else if (error.response?.status >= 500) {
|
||||||
|
errorMessage = `Error del servidor INE (${error.response.status}). El servicio podría estar temporalmente no disponible.`;
|
||||||
|
} else if (error.code === 'ECONNABORTED') {
|
||||||
|
errorMessage = `Tiempo de espera agotado. El servidor INE no respondió en 30 segundos.`;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.error(`INE API Error: ${errorMessage}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
data: null as any,
|
data: null as any,
|
||||||
success: false,
|
success: false,
|
||||||
error: error.message || 'Error desconocido'
|
error: errorMessage
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Referencia en una nueva incidencia
Block a user