UNPKG

angular4-hal

Version:

This Angular module offers a HAL/JSON http-client to easily interact with a Spring Data Rest API or any API that implements the Spring Data Rest resource model

52 lines (51 loc) 2.67 kB
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); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { Inject, Injectable } from "@angular/core"; import { HttpHeaders } from "@angular/common/http"; import { TokenConfigService } from "./TokenConfigService"; import { Auth } from "./Auth"; var AuthInterceptor = /** @class */ (function () { function AuthInterceptor(config) { this.config = config; } AuthInterceptor.prototype.intercept = function (request, next) { // add authorization header with jwt token if available if (this.config) { var token = Object.assign(Auth, JSON.parse(sessionStorage.getItem(this.config.token))); if (request.url.indexOf(this.config.excludeAuthPath) != -1) return next.handle(request); if (token && request.url.indexOf('files/upload') != -1) { var headers = new HttpHeaders({ 'Authorization': 'Bearer ' + token.access_token }); request = request.clone({ headers: headers }); } else if (token && (!request.url.endsWith('oauth/token') || request.url.indexOf('recuperaPassword') == -1)) { var ct = request.headers.has('Content-Type') ? request.headers.get('Content-Type') : 'application/json'; var headers = new HttpHeaders({ 'Authorization': 'Bearer ' + token.access_token, 'Content-Type': ct }); request = request.clone({ headers: headers }); } } return next.handle(request); }; AuthInterceptor = __decorate([ Injectable(), __param(0, Inject(TokenConfigService)), __metadata("design:paramtypes", [Object]) ], AuthInterceptor); return AuthInterceptor; }()); export { AuthInterceptor };