esiil
Version:
Minimalist library for EVE Online's ESI
82 lines • 3.24 kB
JavaScript
;
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