Skip to content

Instantly share code, notes, and snippets.

@tulik
Created December 17, 2017 20:47
Show Gist options
  • Save tulik/9d1e4ea5201e48abfbd8d1c5e861f193 to your computer and use it in GitHub Desktop.
Save tulik/9d1e4ea5201e48abfbd8d1c5e861f193 to your computer and use it in GitHub Desktop.
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var http_1 = require("@angular/http");
var rxjs_1 = require("rxjs");
var ngx_restangular_helper_1 = require("./ngx-restangular-helper");
var RestangularHttp = (function () {
function RestangularHttp(http) {
this.http = http;
}
RestangularHttp.prototype.createRequest = function (options) {
var requestOptions = ngx_restangular_helper_1.RestangularHelper.createRequestOptions(options);
var request = new http_1.Request(requestOptions);
return this.request(request);
};
RestangularHttp.prototype.request = function (request) {
var _this = this;
return this.http.request(request)
.map(function (response) {
response.config = { params: request };
return response;
})
.map(function (response) {
if (response._body) {
response.data = typeof response._body == 'string' ? JSON.parse(response._body) : response._body;
}
else {
response.data = null;
}
return response;
})
.catch(function (err) {
try {
err.data = typeof err._body == 'string' && err._body.length > 0 ? JSON.parse(err._body) : err._body;
}
catch (e) {
err.data = err._body;
}
err.request = request;
err.repeatRequest = function (newRequest) {
return _this.request(newRequest || request);
};
return rxjs_1.Observable.throw(err);
});
};
return RestangularHttp;
}());
RestangularHttp.decorators = [
{ type: core_1.Injectable },
];
/** @nocollapse */
RestangularHttp.ctorParameters = function () { return [
{ type: http_1.Http, },
]; };
exports.RestangularHttp = RestangularHttp;
//# sourceMappingURL=ngx-restangular-http.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment