This commit is contained in:
2025-12-14 10:40:54 +01:00
parent 5d483b0df5
commit 8428bf9c82
55 changed files with 9763 additions and 391 deletions

View File

@@ -22,7 +22,16 @@ class BenchAPI {
if (!response.ok) {
const errorData = await response.json().catch(() => ({}));
throw new Error(errorData.detail || `HTTP ${response.status}: ${response.statusText}`);
const errorMessage = errorData.detail || errorData.message || `HTTP ${response.status}: ${response.statusText}`;
// Create a detailed error object
const apiError = new Error(errorMessage);
apiError.status = response.status;
apiError.statusText = response.statusText;
apiError.endpoint = endpoint;
apiError.response = errorData;
throw apiError;
}
// Handle 204 No Content
@@ -30,9 +39,21 @@ class BenchAPI {
return null;
}
return await response.json();
const contentType = response.headers.get('content-type');
if (contentType && contentType.includes('application/json')) {
return await response.json();
}
// Return text for non-JSON responses
return await response.text();
} catch (error) {
console.error(`API Error [${endpoint}]:`, error);
// Handle network errors
if (error.name === 'TypeError' && error.message === 'Failed to fetch') {
error.message = 'Impossible de se connecter au serveur backend. Vérifiez que le service est démarré.';
}
throw error;
}
}