UNPKG

@universis/common

Version:

Universis - common directives and services

34 lines (33 loc) 3.86 kB
import { Injectable } from '@angular/core'; export class ErrorsHandler { static navigateToError(status, continueLink) { if (continueLink) { window.location.href = `#/error/${status}?continue=${encodeURIComponent(continueLink)}`; } else { window.location.href = `#/error/${status}`; } } handleError(error) { // handle http response errors if (error.rejection && typeof error.rejection.status === 'number') { switch (error.rejection.status) { case 0: return ErrorsHandler.navigateToError(408.1); case 401: case 498: return ErrorsHandler.navigateToError(401.1, '/auth/loginAs'); case 403.3: case 408: case 429: case 502: case 503: return ErrorsHandler.navigateToError(error.rejection.status); } } } } ErrorsHandler.decorators = [ { type: Injectable } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvY29tbW9uLyIsInNvdXJjZXMiOlsiZXJyb3IvZXJyb3IuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCxNQUFNO0lBRUosTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFjLEVBQUUsWUFBcUI7UUFDMUQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxNQUFNLGFBQWEsa0JBQWtCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztTQUN6RjthQUFNO1lBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxNQUFNLEVBQUUsQ0FBQztTQUM1QztJQUNILENBQUM7SUFJRCxXQUFXLENBQUMsS0FBVTtRQUNsQiw4QkFBOEI7UUFDOUIsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQy9ELFFBQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzNCLEtBQUssQ0FBQztvQkFDSixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlDLEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssR0FBRztvQkFDTixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2dCQUMvRCxLQUFLLEtBQUssQ0FBQztnQkFDWCxLQUFLLEdBQUcsQ0FBQztnQkFDVCxLQUFLLEdBQUcsQ0FBQztnQkFDVCxLQUFLLEdBQUcsQ0FBQztnQkFDVCxLQUFLLEdBQUc7b0JBQ04sT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbEU7U0FDSjtJQUNMLENBQUM7OztZQTlCRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFcnJvcnNIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcblxuICBzdGF0aWMgbmF2aWdhdGVUb0Vycm9yKHN0YXR1czogbnVtYmVyLCBjb250aW51ZUxpbms/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29udGludWVMaW5rKSB7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAjL2Vycm9yLyR7c3RhdHVzfT9jb250aW51ZT0ke2VuY29kZVVSSUNvbXBvbmVudChjb250aW51ZUxpbmspfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCMvZXJyb3IvJHtzdGF0dXN9YDtcbiAgICB9XG4gIH1cblxuXG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSkge1xuICAgICAgLy8gaGFuZGxlIGh0dHAgcmVzcG9uc2UgZXJyb3JzXG4gICAgICBpZiAoZXJyb3IucmVqZWN0aW9uICYmIHR5cGVvZiBlcnJvci5yZWplY3Rpb24uc3RhdHVzID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHN3aXRjaChlcnJvci5yZWplY3Rpb24uc3RhdHVzKSB7XG4gICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICByZXR1cm4gRXJyb3JzSGFuZGxlci5uYXZpZ2F0ZVRvRXJyb3IoNDA4LjEpO1xuICAgICAgICAgICAgICBjYXNlIDQwMTpcbiAgICAgICAgICAgICAgY2FzZSA0OTg6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVycm9yc0hhbmRsZXIubmF2aWdhdGVUb0Vycm9yKDQwMS4xLCAnL2F1dGgvbG9naW5BcycpO1xuICAgICAgICAgICAgICBjYXNlIDQwMy4zOlxuICAgICAgICAgICAgICBjYXNlIDQwODpcbiAgICAgICAgICAgICAgY2FzZSA0Mjk6XG4gICAgICAgICAgICAgIGNhc2UgNTAyOlxuICAgICAgICAgICAgICBjYXNlIDUwMzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRXJyb3JzSGFuZGxlci5uYXZpZ2F0ZVRvRXJyb3IoZXJyb3IucmVqZWN0aW9uLnN0YXR1cyk7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG5cblxuXG59XG4iXX0=