Sha256: 89a1d6c5d22bce25443f67aff84a83ba81b768177901fc78e97ef00cfdeb6b84

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

import { environment } from '../../../environments/environment';
import {HttpService} from '../http';
import {Injectable} from '@angular/core';
import {Http, XHRBackend, RequestOptions, Request, RequestOptionsArgs, Response, Headers} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';

@Injectable()
export class AuthHttpService extends HttpService {

  base_url = environment.api_base_url;

  constructor (backend: XHRBackend, options: RequestOptions) {
    super(backend, options);
  }

  request(url: string|Request, options?: RequestOptionsArgs): Observable<Response> {
    if (typeof url === 'string') {
      if (!options) {
        options = {headers: new Headers()};
      }
      options.headers.set('Authorization', `Bearer ${this.getAuthToken()}`);
    } else {
      url.headers.set('Authorization', `Bearer ${this.getAuthToken()}`);
    }
    return super.request(url, options);
  }

  getAuthToken () {
    return localStorage.getItem('auth_token');
  }

}

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
unsakini-0.0.5 angular/src/app/services/auth-http/auth.http.service.ts
unsakini-0.0.5.pre.1 angular/src/app/services/auth-http/auth.http.service.ts
unsakini-0.0.4.pre.1 angular/src/app/services/auth-http/auth.http.service.ts
unsakini-0.0.4.3 angular/src/app/services/auth-http/auth.http.service.ts