ThomasBurleson
8/2/2016 - 2:32 PM

authenticatedHttpClient.ts

import {Injectable} from 'angular2/core';
import {Http, Headers} from 'angular2/http';
import {SessionModel} from './global/session';

@Injectable()
export class AuthenticatedHttpClient {
  constructor(private http: Http, private session:SessionModel) {  }

  createAuthorizationHeader() {
    return {
      'x-auth-token' : this.session.sessionToken || localStorage.getItem('sessionToken')
    };
  }

  get(url) {
    return this.http.get(url, {
      headers: this.createAuthorizationHeader()
    });
  }

  post(url, data) {
    return this.http.post(url, data, {
      headers: this.createAuthorizationHeader()
    });
  }
}