import { Http, Response, Headers, Jsonp, RequestOptions } from '@angular/http'; import { AuthHttp } from 'angular2-jwt'; import { Injectable } from '@angular/core'; import { LocalStorageService } from 'angular-2-local-storage'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/do'; import 'rxjs/add/operator/catch'; import { ISignupInfo } from '../../data/api/signupInfo/signupInfo.interface'; import { ISignupInfoContainer } from '../../data/api/signupInfoContainer.interface'; import { ISubscriptionRequest } from '../../data/api/subscriptionRequest.interface'; import { ISubscriptionResponse } from '../../data/api/subscriptionResponse.interface'; @Injectable() export class SignupInfoService { constructor( private _localStorageService: LocalStorageService, private _http: Http, private _jsonp: Jsonp, private _authHttp: AuthHttp) { } get(): Observable { let groupinfouri: string = this._localStorageService.get('groupinfouri'); return this._http.get(groupinfouri, { headers: this.getHeaders() }) .map((response: Response) => response.json()) .do(data => console.log(data)) .catch(this.handleError); } submit(url: string, request: ISubscriptionRequest): Observable { let headers = this.getHeaders(); let options = new RequestOptions({ headers: headers }); return this._http.post(url, request, options) .map((response: Response) => response.json()) .do(data => console.log(data)) .catch(this.handleError); } private getHeaders() { let ssc = this._localStorageService.get('ssc'); let headers = new Headers(); headers.append('Accept', 'application/json'); headers.append('Authorization', 'Bearer ' + ssc); return headers; } private handleError(error: Response) { let errJson = error.json(); let errCode = errJson.ErrorCode; let errMsg = errJson.Message; let errFriendlyMsg = errCode + ': ' + errMsg; return Observable.throw(errFriendlyMsg || 'Server error: ' + error.status + ': ' + error.statusText); } }