UNPKG

@moscowcity/ym-api

Version:

Forked version of https://github.com/kontsevoye/ym-api with removed console.error

43 lines (42 loc) 1.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); class HttpClient { async _sendRequestAxios(method, request) { const axiosRequest = { method, url: encodeURI(request.getURL()), headers: request.getHeaders(), data: {}, }; if (["PUT", "POST", "DELETE", "PATCH"].includes(method.toUpperCase())) { axiosRequest.data = request.getBodyDataString(); axiosRequest.headers = { ...axiosRequest.headers, ...{ "content-type": "application/x-www-form-urlencoded" }, }; } try { const { data } = await (0, axios_1.default)(axiosRequest); if (data.result) { return data.result; } else { return data; } } catch (e) { throw new Error(`Request failed: ${e.message}`); } } get(request) { return this._sendRequestAxios("get", request); } post(request) { return this._sendRequestAxios("post", request); } } exports.default = HttpClient;