UNPKG

@ioniczoo/pigeon-restful-provider

Version:

HTTP Service Provider for Ionic: Our skillful mail pigeon will help you carry out REST requests. Our Pigeon is a RESTful Provider.

2 lines (1 loc) 2.5 kB
var __decorate=this&&this.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __metadata=this&&this.__metadata||function(k,v){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(k,v)};import{Injectable}from"@angular/core";import{Config}from"ionic-angular";import{AlertController}from"ionic-angular";import{LoadingController}from"ionic-angular";import{HttpClient}from"@angular/common/http";import{HttpHeaders}from"@angular/common/http";import{HttpParams}from"@angular/common/http";var RestfulProvider=function(){function RestfulProvider(http,config,alertCtrl,loadingCtrl){this.http=http;this.config=config;this.alertCtrl=alertCtrl;this.loadingCtrl=loadingCtrl}RestfulProvider.prototype.request=function(method,url,body,params,headers){var _this=this;if(params===void 0){params=new HttpParams({})}if(headers===void 0){headers=new HttpHeaders({"Content-Type":"application/json"})}return new Promise(function(success,error){var debug=_this.config.get("pigeon_debug")||false;var host=_this.config.get("pigeon_host")||"";var loader=_this.loadingCtrl.create({});if(_this.config.get("pigeon_loader"))loader.present();_this.http.request(method,host+url,{body:JSON.stringify(body),headers:headers,params:params}).subscribe(function(data){loader.dismiss();if(debug)console.info(data);success(data)},function(data){loader.dismiss();if(debug)console.error(data);if(_this.config.get("pigeon_alert"))_this.errorMessage(data);error(data)})})};RestfulProvider.prototype.alert=function(title,subTitle){this.alertCtrl.create({title:title,subTitle:subTitle,enableBackdropDismiss:false,buttons:[{text:"OK",role:"ok"}]}).present()};RestfulProvider.prototype.errorMessage=function(error){var status_http=this.config.get("pigeon_status");if(status_http&&status_http[error.status]!==undefined){this.alert(status_http[error.status][0],status_http[error.status][1])}else{this.alert(error.status,error.error)}};RestfulProvider=__decorate([Injectable(),__metadata("design:paramtypes",[HttpClient,Config,AlertController,LoadingController])],RestfulProvider);return RestfulProvider}();export{RestfulProvider};