import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { Observable } from 'rxjs/Observable'; import { Headers } from '@angular/http'; @Injectable() export class BaseService { // protected baseUrl = Properties.baseUrl; public _headers: Headers; public onWillPageLoad = new Subject(); public onBack = new Subject(); constructor( ) { this._headers = new Headers({ 'Content-Type': 'application/json' }); const accessToken = sessionStorage.getItem('accessToken') ? atob(sessionStorage.getItem('accessToken')) : null; if (accessToken !== null) { this.setHeader('X-Auth-token', accessToken); } } /** * Metodo que entrega los headers para realizar una peticion http * @return {Headers} headers para una petición http */ get headers(): Headers { return this._headers; } setHeader(pName, pVal) { this.headers.set(pName, pVal); } /** * Metodo para el manejo de errores de una peticion en http * @param error response de error de una peticion http * @return {Observable} con el mensaje de error obtenido del response */ handleError(error: Response | any): Observable> { let errMsg: string; errMsg = 'Ocurrió un error, intenta nuevamente'; return Observable.throw(errMsg); } }