Sha256: 1571d5069b6de712fb5e6be90baac30e5ad4fdc64238e69ba1bebbac87b1b677

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

import { environment } from '../../../environments/environment';
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 HttpService extends Http {

  base_url = environment.api_base_url;
  engine_url = '/unsakini'

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

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

  request(url: string|Request, options?: RequestOptionsArgs): Observable<Response> {
    if (typeof url === 'string') {
      url = this.buildUrl(url);
    } else {
      url.url = this.buildUrl(url.url);
    }
    return super.request(url, options);
  }

  buildUrl(url: string) {
    let new_url = `${this.base_url}/${this.engine_url}/${url}`;
    // remove multiple forward slash from the url like:
    // http://domain.com//hello/world -> http://domain.com/hello/world
    return new_url.replace(/([^:]\/)\/+/g, "$1").replace(/(^\/)\/+/g, "$1");
  }

}

Version data entries

4 entries across 4 versions & 1 rubygems

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