UNPKG

sth-ts

Version:

An SmartHoldem API wrapper, written in TypeScript to interact with SmartHoldem blockchain.

39 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var rxjs_1 = require("rxjs"); var request = require("request"); /** Based on @waldojeffers/rx-request. */ var RxRequest = /** @class */ (function () { function RxRequest(options) { this.req = request.defaults(options); this.get = this.toObservable(this.req.get); this.post = this.toObservable(this.req.post); this.put = this.toObservable(this.req.put); } RxRequest.prototype.toObservable = function (method) { return function (url, options) { return rxjs_1.Observable.create(function (observer) { var body = ''; method(url, options) .on('response', function onResponse(res) { res.setEncoding('utf8'); if (res.statusCode < 200 || res.statusCode >= 300) { this.emit('error', { statusCode: res.statusCode, statusMessage: res.statusMessage, }); } }) .on('error', function (e) { return observer.error(e); }) .on('data', function (chunk) { return body += chunk; }) .on('end', function () { observer.next(body); observer.complete(); }); }); }; }; return RxRequest; }()); exports.RxRequest = RxRequest; //# sourceMappingURL=RxRequest.js.map