Correction: les gestionnaires d'erreurs par défaut n'étaient pas définis
This commit is contained in:
parent
04a8ba9246
commit
6b06c9ec13
|
@ -7,22 +7,21 @@ import {AppState} from '../app-state'
|
|||
})
|
||||
export class ErrorService {
|
||||
private static readonly UNKNOWN_ERROR_MESSAGE = 'Une erreur inconnue est survenue'
|
||||
private defaultHandledErrorModels: ErrorHandler[] = [{
|
||||
filter: error => error.status === 400,
|
||||
consumer: error => console.error(error),
|
||||
messageProducer: () => 'Certaines informations étaient invalides'
|
||||
private static readonly DEFAULT_ERROR_HANDLERS: ErrorHandler[] = [{
|
||||
filter: error => error.type.startsWith('notfound'),
|
||||
messageProducer: () => 'Une ressource demandée n\'a pas été trouvée'
|
||||
}, {
|
||||
filter: error => error.type.startsWith('exists'),
|
||||
messageProducer: () => 'Un conflit avec une autre ressource s\'est produit'
|
||||
}, {
|
||||
filter: error => error.type.startsWith('cannotdelete'),
|
||||
messageProducer: () => 'Une ressource n\'a pas pu être supprimée'
|
||||
}, {
|
||||
filter: error => error.status === 401,
|
||||
messageProducer: () => 'Vous devez être connecté pour effectuer cette action'
|
||||
}, {
|
||||
filter: error => error.status === 403,
|
||||
messageProducer: () => 'Vous n\'avez pas la permission d\'effectuer cette action'
|
||||
}, {
|
||||
filter: error => error.status === 404,
|
||||
messageProducer: () => 'La resource demandée n\'a pas été trouvée'
|
||||
}, {
|
||||
filter: error => error.status === 409,
|
||||
messageProducer: () => 'Un conflit avec une autre resource s\'est produit'
|
||||
}, {
|
||||
filter: error => error.status === 500,
|
||||
messageProducer: () => ErrorService.UNKNOWN_ERROR_MESSAGE
|
||||
|
@ -39,7 +38,7 @@ export class ErrorService {
|
|||
handleError(response: any) {
|
||||
let matchingModels
|
||||
|
||||
if (this.isServerOfflineError(response)) {
|
||||
if (isServerOfflineError(response)) {
|
||||
this.appState.isServerOnline = false
|
||||
return
|
||||
}
|
||||
|
@ -54,7 +53,7 @@ export class ErrorService {
|
|||
}
|
||||
|
||||
if (!matchingModels || matchingModels.length == 0) { // If none are found, search in defaults handlers
|
||||
matchingModels = errorHandlers.filter(m => m.filter(error))
|
||||
matchingModels = ErrorService.DEFAULT_ERROR_HANDLERS.filter(m => m.filter(error))
|
||||
}
|
||||
|
||||
if (!matchingModels || matchingModels.length == 0) { // If still none are found, handle as an unknown error
|
||||
|
@ -88,10 +87,6 @@ export class ErrorService {
|
|||
set activeErrorHandler(handler: ErrorHandlerComponent) {
|
||||
this.activeHandler = handler
|
||||
}
|
||||
|
||||
private isServerOfflineError(response: any): boolean {
|
||||
return response.status === 0 && response.statusText === 'Unknown Error'
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -118,4 +113,6 @@ export class ErrorHandler {
|
|||
}
|
||||
}
|
||||
|
||||
const errorHandlers: ErrorHandler[] = []
|
||||
function isServerOfflineError(response: any): boolean {
|
||||
return response.status === 0 && response.statusText === 'Unknown Error'
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue