UNPKG

esiil

Version:

Minimalist library for EVE Online's ESI

82 lines 3.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.doFetch = exports._jwtGet = exports._sendTokenRequest = exports._sendCustomRequest = exports._sendPathRequest = exports._basicGet = void 0; const node_fetch_1 = __importDefault(require("node-fetch")); const defaults_1 = __importDefault(require("../defaults")); const FetchdHelpers_1 = require("./FetchdHelpers"); function _basicGet(path, extraParams) { const options = { method: 'GET', headers: { 'User-Agent': defaults_1.default.userAgent } }; const url = `${defaults_1.default.domainAndVersion()}${(0, FetchdHelpers_1._cleanURL)(path)}${defaults_1.default.queryParamStart()}${(0, FetchdHelpers_1._paramsToString)(extraParams)}`; return doFetch(url, options); } exports._basicGet = _basicGet; function _sendPathRequest(path, extraParams, options, payload) { const sendOpts = { method: options.method || 'GET', headers: { ...options.headers, ...{ 'User-Agent': defaults_1.default.userAgent } }, }; if (payload) sendOpts.body = JSON.stringify(payload); const url = `${defaults_1.default.domainAndVersion()}${(0, FetchdHelpers_1._cleanURL)(path)}${defaults_1.default.queryParamStart()}${(0, FetchdHelpers_1._paramsToString)(extraParams)}`; return doFetch(url, sendOpts); } exports._sendPathRequest = _sendPathRequest; function _sendCustomRequest(url, options, payload = {}) { const sendOpts = { method: options.method || 'GET', headers: { ...options.headers, ...{ 'User-Agent': defaults_1.default.userAgent } }, body: JSON.stringify(payload), }; return doFetch(url, sendOpts); } exports._sendCustomRequest = _sendCustomRequest; async function _sendTokenRequest(url, options, payload) { const sendOpts = { method: 'POST', headers: { ...options.headers, ...{ 'User-Agent': defaults_1.default.userAgent } }, body: payload, }; return await doFetch(url, sendOpts); } exports._sendTokenRequest = _sendTokenRequest; async function _jwtGet() { const options = { method: 'GET', headers: { 'User-Agent': defaults_1.default.userAgent } }; return await doFetch('https://login.eveonline.com/oauth/jwks', options); } exports._jwtGet = _jwtGet; function doFetch(url, options) { const result = (0, node_fetch_1.default)(url, options) .then(async (resp) => { const serviceResponse = { body: null, cacheExpires: resp.headers.get('expires') || '', headers: resp.headers.raw(), status: resp.status, statusText: resp.statusText, }; if (resp.headers.get('Content-Type')?.toLowerCase() == 'application/json; charset=utf-8') { serviceResponse.body = await resp.json(); return serviceResponse; } else { serviceResponse.body = await resp.text(); return serviceResponse; } }); return result; } exports.doFetch = doFetch; //# sourceMappingURL=Fetchd.js.map