Skip to main content
Glama
errorHandling.ts1.37 kB
/** * Utilitaires pour la gestion des erreurs */ /** * Vérifie si une erreur est une erreur de tuyau cassé (EPIPE) * Ces erreurs se produisent lorsque le destinataire a fermé la connexion */ export function isPipeError(error: any): boolean { return ( error && (error.code === 'EPIPE' || error.code === 'ERR_STREAM_DESTROYED' || (typeof error.message === 'string' && error.message.includes('write EPIPE'))) ); } /** * Gère les erreurs de pipe de manière silencieuse * @param error L'erreur à gérer * @param defaultValue Valeur par défaut à retourner */ export function handlePipeErrorSilently<T>(error: any, defaultValue: T): T { if (isPipeError(error)) { console.error("Connexion interrompue (EPIPE), client probablement déconnecté"); // Pour les erreurs de pipe, nous retournons simplement la valeur par défaut return defaultValue; } // Pour les autres erreurs, nous les relançons throw error; } /** * Wrapper pour les fonctions qui peuvent générer des erreurs EPIPE * @param fn Fonction à exécuter * @param defaultValue Valeur par défaut à retourner en cas d'erreur EPIPE */ export async function withPipeErrorHandling<T>(fn: () => Promise<T>, defaultValue: T): Promise<T> { try { return await fn(); } catch (error) { return handlePipeErrorSilently(error, defaultValue); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Leghis/smart-e2b'

If you have feedback or need assistance with the MCP directory API, please join our Discord server