Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrisbenseler/5ca5ed2c2e3252210d471f44ff3004a6 to your computer and use it in GitHub Desktop.
Save chrisbenseler/5ca5ed2c2e3252210d471f44ff3004a6 to your computer and use it in GitHub Desktop.
import { Injectable } from "@angular/core";
import { Http, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class CustomHttp {
constructor(public http: Http) {
}
build_headers(): Observable<any> {
return new Observable( (observer) => {
let headers = new Headers();
headers.append('CONSUMER_SECRET', something_here);
headers.append('Accept', 'application/json');
headers.append('Access-Control-Allow-Methods', 'POST');
headers.append('Content-Type', 'application/json');
observer.next(new RequestOptions({ 'headers': headers }));
observer.complete();
});
}
get(url: string): Observable<any> {
return new Observable( observer => {
this.build_headers().subscribe( (requestOptions: RequestOptions) => {
this.http.get(url, requestOptions).subscribe( data => {
observer.next(data);
}, err => {
observer.error(err);
}, () => {
observer.complete();
})
})
});
}
post(url: string, data): Observable<any> {
return new Observable( observer => {
this.build_headers().subscribe( (requestOptions: RequestOptions) => {
this.http.post(url, data, requestOptions).subscribe( data => {
observer.next(data);
}, err => {
observer.error(err);
}, () => {
observer.complete();
})
})
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment