ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
54 lines • 5.88 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import * as i0 from "@angular/core";
export class OntimizeServiceResponseParser {
constructor(injector) {
this.injector = injector;
}
parseSuccessfulResponse(resp, subscriber, service) {
if (resp && resp.isUnauthorized()) {
service.clientErrorFallback(401);
}
else if (resp && resp.isFailed()) {
subscriber.error(resp.message);
}
else if (resp && resp.isSuccessful()) {
subscriber.next(resp);
}
else {
subscriber.error('Service unavailable');
}
}
parseUnsuccessfulResponse(error, subscriber, service) {
if (error) {
switch (error.status) {
case 401:
case 403:
case 404:
case 405:
service.clientErrorFallback(error.status);
break;
case 500:
case 501:
case 502:
case 503:
case 504:
default:
subscriber.error(error);
service.serverErrorFallback(error.status);
break;
}
}
else {
subscriber.error(error);
}
}
}
OntimizeServiceResponseParser.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeServiceResponseParser, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
OntimizeServiceResponseParser.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeServiceResponseParser, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeServiceResponseParser, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1zZXJ2aWNlLXJlc3BvbnNlLnBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9wYXJzZXIvby1zZXJ2aWNlLXJlc3BvbnNlLnBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxZQUNZLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDMUIsQ0FBQztJQUVMLHVCQUF1QixDQUFDLElBQXFCLEVBQUUsVUFBdUMsRUFBRSxPQUFvQjtRQUMxRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDakMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2xDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2hDO2FBQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUVMLFVBQVUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsVUFBdUMsRUFBRSxPQUFvQjtRQUM1RixJQUFJLEtBQUssRUFBRTtZQUNULFFBQVEsS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDcEIsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHO29CQUNOLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzFDLE1BQU07Z0JBQ1IsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLENBQUM7Z0JBQ1Q7b0JBQ0UsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDeEIsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDMUMsTUFBTTthQUNUO1NBQ0Y7YUFBTTtZQUNMLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDOzsySEF6Q1UsNkJBQTZCOytIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2VydmljZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zZXJ2aWNlLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZS5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9udGltaXplU2VydmljZVJlc3BvbnNlUGFyc2VyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yXG4gICkgeyB9XG5cbiAgcGFyc2VTdWNjZXNzZnVsUmVzcG9uc2UocmVzcDogU2VydmljZVJlc3BvbnNlLCBzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFNlcnZpY2VSZXNwb25zZT4sIHNlcnZpY2U6IEJhc2VTZXJ2aWNlKSB7XG4gICAgaWYgKHJlc3AgJiYgcmVzcC5pc1VuYXV0aG9yaXplZCgpKSB7XG4gICAgICBzZXJ2aWNlLmNsaWVudEVycm9yRmFsbGJhY2soNDAxKTtcbiAgICB9IGVsc2UgaWYgKHJlc3AgJiYgcmVzcC5pc0ZhaWxlZCgpKSB7XG4gICAgICBzdWJzY3JpYmVyLmVycm9yKHJlc3AubWVzc2FnZSk7XG4gICAgfSBlbHNlIGlmIChyZXNwICYmIHJlc3AuaXNTdWNjZXNzZnVsKCkpIHtcbiAgICAgIHN1YnNjcmliZXIubmV4dChyZXNwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVW5rbm93IHN0YXRlIC0+IGVycm9yXG4gICAgICBzdWJzY3JpYmVyLmVycm9yKCdTZXJ2aWNlIHVuYXZhaWxhYmxlJyk7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VVbnN1Y2Nlc3NmdWxSZXNwb25zZShlcnJvciwgc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxTZXJ2aWNlUmVzcG9uc2U+LCBzZXJ2aWNlOiBCYXNlU2VydmljZSkge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgc3dpdGNoIChlcnJvci5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSA0MDE6XG4gICAgICAgIGNhc2UgNDAzOlxuICAgICAgICBjYXNlIDQwNDpcbiAgICAgICAgY2FzZSA0MDU6XG4gICAgICAgICAgc2VydmljZS5jbGllbnRFcnJvckZhbGxiYWNrKGVycm9yLnN0YXR1cyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgNTAwOlxuICAgICAgICBjYXNlIDUwMTpcbiAgICAgICAgY2FzZSA1MDI6XG4gICAgICAgIGNhc2UgNTAzOlxuICAgICAgICBjYXNlIDUwNDpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgICBzZXJ2aWNlLnNlcnZlckVycm9yRmFsbGJhY2soZXJyb3Iuc3RhdHVzKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==