import {throwError as observableThrowError, Observable } from 'rxjs'; /** * @Service:Base Service * @Creation Date: Aug 3, 2017 * @Author: sbaireddy * @Version: 1.0 : */ import { Response } from '@angular/http'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/catch'; import { HttpHeaders, HttpErrorResponse } from '@angular/common/http'; import { environment } from '../../environments/environment'; export abstract class BaseService { public httpOptions(): any { const METHOD_NAME: string = 'getRequestOptions()'; // console.log('Util.getRequestOptions()>>Start'); let reqHeaders: any = { 'Content-Type': 'application/json', 'Accept': 'application/json;text/html', 'Cache-Control': 'no-cache', 'Authorization': environment.basicAuth?environment.basicAuth:'Basic dGVzdGFkbWluOnBhc3N3MHJk' }; //let headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Cache-Control': 'no-cache' }); //headers.append('Accept', 'application/json;text/html'); //headers.append('Cache-Control', 'no-cache'); //headers.append('Cache-control', 'no-store'); //headers.append('Expires', '0'); //headers.append('Pragma', 'no-cache'); if (sessionStorage.getItem('userId')) { reqHeaders.userId = sessionStorage.getItem('userId'); //headers.append('userId', sessionStorage.getItem('userId')); } if (sessionStorage.getItem('WCToken')) { reqHeaders.WCToken = sessionStorage.getItem('WCToken'); //headers.append('WCToken', sessionStorage.getItem('WCToken')); } if (sessionStorage.getItem('WCTrustedToken')) { reqHeaders.WCTrustedToken = sessionStorage.getItem('WCTrustedToken'); //headers.append('WCTrustedToken', sessionStorage.getItem('WCTrustedToken')); } if (sessionStorage.getItem('personalizationID')) { reqHeaders.personalizationID = sessionStorage.getItem('personalizationID'); //headers.append('personalizationID', sessionStorage.getItem('personalizationID')); } const options = { withCredentials: true, headers: new HttpHeaders(reqHeaders) }; // console.log('Util.getRequestOptions()>>End'); return options; } protected handleError(error: Response | any) { // In a real world app, you might use a remote logging infrastructure // 503 Service Unavailable let errMsg: string; try { if (error instanceof HttpErrorResponse) { if (!error.ok) { const err = JSON.stringify(error.error); errMsg = `${error.status} - ${error.statusText || ''} ${err}`; } else { // No JSON expected or available for these error codes. errMsg = error.toString(); } } else { errMsg = error.message ? error.message : error.toString(); } } catch (handlingError) { errMsg = error.toString(); } console.error(errMsg); return observableThrowError(errMsg); } }