import { Injectable} from ‘@angular/core’;
import { Http, XHRBackend, RequestOptions, Request, RequestOptionsArgs, Response, Headers, ConnectionBackend} from ‘@angular/http’;
import ‘rxjs/add/operator/map’;
import ‘rxjs/add/operator/catch’;
import { Observable } from ‘rxjs/Observable’;
import ‘rxjs/add/operator/do’;
import ‘rxjs/add/operator/finally’;
import { IonicPage, NavController, NavParams,ViewController,LoadingController } from ‘ionic-angular’;
@Injectable()
export class HttpService extends Http {
public loading = loadingCtrl.create({
content: “Loading…”
});
constructor (backend: XHRBackend, options: RequestOptions,public loadingCtrl: LoadingController, public nav:NavController) {
options.headers.set('Authorization', 'Basic ZGVtb19vYXV0aF9jbGllbnQ6ZGVtb19vYXV0aF9zZWNyZXQ=');
if(!window.localStorage.getItem('access_token')|| window.localStorage.getItem('access_token') == "undefined" || window.localStorage.getItem('access_token') == "" ){
options.headers.set('Authorization', 'Basic ZGVtb19vYXV0aF9jbGllbnQ6ZGVtb19vYXV0aF9zZWNyZXQ=');
}
else{
console.log(window.localStorage.getItem(‘access_token’));
options.headers.set(‘Authorization’, 'Bearer '+window.localStorage.getItem(‘access_token’));
}
super(backend, options);
}
request(url: string | Request, options?: RequestOptionsArgs): Observable {
return this.intercept(super.request(url, options));
}
intercept(observable: Observable): Observable {
console.log(“In the intercept routine…”);
return observable
.catch((err, source) => {
console.log("Caught error: " + err);
})
.do((res: Response) => {
console.log("Response: " + res);
}, (err: any) => {
console.log("Caught error: " + err);
})
.finally(() => {
console.log(“Finally… delaying, though.”)
});
}
public showLoader() {
this.nav.present(this.loading);
}
}
This is my service page. how can i add ladingctrl in this page.?