UNPKG

cobinhood-rx

Version:

CobinhoodRx is a rxjs node wrapper for the CobinhoodRx Api.

32 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const rxjs_1 = require("rxjs"); const node_fetch_1 = require("node-fetch"); const Model_1 = require("../Model"); const Enum_1 = require("../Enum"); const Logger_1 = require("../Helpers/Logger"); class HttpClient { request(url, options) { return this._request(url, options); } _request(url, options = {}) { const response = new Model_1.ApiResponse(); Logger_1.Logger.Stream.write(Enum_1.LogTypeValue.Debug, `Request URL: ${JSON.stringify(options)}`); const promise = node_fetch_1.default(url, options) .then(res => { return res.json() .then((json) => { const semiProcessedResponse = Object.assign(response, json); Logger_1.Logger.Stream.write(Enum_1.LogTypeValue.Debug, `Response: ${JSON.stringify(semiProcessedResponse)}`); return semiProcessedResponse; }); }); promise.catch(error => { Logger_1.Logger.Stream.write(Enum_1.LogTypeValue.Error, `HTTP Request Failed. URL: ${url}`); return rxjs_1.Observable.throw(error); }); return rxjs_1.Observable.fromPromise(promise); } } exports.HttpClient = HttpClient; //# sourceMappingURL=HttpClient.js.map