UNPKG

bitcitawebfront-library

Version:

Angular CLI project used by other Angular projects in the bitcita web project.<br />

80 lines 4.02 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var http_1 = require("@angular/common/http"); var router_1 = require("@angular/router"); var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var error_1 = require("../../shared/data/error"); var TokenInterceptor = /** @class */ (function () { function TokenInterceptor(router) { this.router = router; } TokenInterceptor_1 = TokenInterceptor; TokenInterceptor.prototype.intercept = function (request, next) { var _this = this; console.log("interceptando la llamada http"); if (TokenInterceptor_1.TOKEN) { console.log("interceptor seteando el token"); request = request.clone({ setHeaders: { Authorization: "Bearer " + TokenInterceptor_1.TOKEN }, withCredentials: true }); } return next.handle(request).pipe(operators_1.catchError(function (error) { console.log("interceptor received error " + error); if (error.status == 429) { console.log("Too Many Request"); var customError = _this.buildError(error, "Ho sentim. A causa de l'alta concurrència del sistema, s'ha produït un error de nombre màxim d'accessos permesos. Intenti-ho de nou passats uns minuts.", "Lo sentimos. Debido a la alta concurrencia del sistema, se ha producido un error de número máximo de accesos permitidos. Inténtelo de nuevo pasados unos minutos."); var newError = new http_1.HttpErrorResponse(__assign({}, error, { error: customError })); return rxjs_1.throwError(newError); } return rxjs_1.throwError(error); }), operators_1.finalize(function () { console.log("finalizando la llamada http de " + request.url); })); }; TokenInterceptor.prototype.buildError = function (error, textCA, textES) { return new error_1.Error(error.url, textCA, textES, error.message, "", true); }; TokenInterceptor.setToken = function (token) { localStorage.setItem("TOKEN", token); TokenInterceptor_1.TOKEN = token; // console.log("set token", token); }; TokenInterceptor.removetoken = function () { localStorage.removeItem("TOKEN"); TokenInterceptor_1.TOKEN = null; }; var TokenInterceptor_1; TokenInterceptor.TOKEN = null; TokenInterceptor = TokenInterceptor_1 = __decorate([ core_1.Injectable(), __metadata("design:paramtypes", [router_1.Router]) ], TokenInterceptor); return TokenInterceptor; }()); exports.TokenInterceptor = TokenInterceptor; //# sourceMappingURL=token.interceptor.js.map