Skip to content

Instantly share code, notes, and snippets.

@deksoke
Created October 11, 2019 06:34
Show Gist options
  • Save deksoke/692bf8b213507454512a94ad00b75313 to your computer and use it in GitHub Desktop.
Save deksoke/692bf8b213507454512a94ad00b75313 to your computer and use it in GitHub Desktop.
import { Injectable } from '@angular/core';
import { environment } from '../../../environments/environment';
import { Headers, Http, Response, URLSearchParams } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/finally';
import 'rxjs/add/observable/throw';
import { throwError } from 'rxjs';
@Injectable()
export class ApiService {
constructor(private http: Http) {
}
private getHeaders(): Headers {
const headersConfig = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer QstSx......'
};
return new Headers(headersConfig);
}
get(path: string, params: URLSearchParams = new URLSearchParams()): Observable<any> {
const url = `${environment.api_url}${path}`;
return this.http.get(url, { headers: this.getHeaders(), search: params })
.catch(this.formatErrors)
.map((res: Response) => res.json());
}
post(path: string, body: Object = {}): Observable<any> {
const url = `${environment.api_url}${path}`;
return this.http.post(url,
JSON.stringify(body),
{ headers: this.getHeaders() }
)
.catch(this.formatErrors)
.map((res: Response) => res.json());
}
private formatErrors(error: any) {
// return Observable.throw(error.json());
return throwError(error.json());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment