@universis/common
Version:
Universis - common directives and services
34 lines (33 loc) • 3.86 kB
JavaScript
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=