UNPKG

esiil

Version:

Minimalist library for EVE Online's ESI

77 lines 3.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // const { request } = require('https') const { _isURL } = require('../helpers/Validation'); const { _cleanURL, _paramsToString } = require('./FetchdHelpers'); const defaults_1 = __importDefault(require("./../defaults")); exports.default = { _basicGet(path, extraParams = {}, data) { const options = { method: 'GET', headers: { 'User-Agent': defaults_1.default.userAgent } }; const url = `${defaults_1.default.domainAndVersion}${_cleanURL(path)}${data.queryParamStart}${_paramsToString(extraParams)}`; return _allRequest(url, options); }, //TODO clean up arg order _sendPathRequest(path, extraParams = {}, options = {}, data, payload = '') { options.headers = options.headers || {}; options.headers['User-Agent'] = data.userAgent; const url = `${data.domainAndVersion}${_cleanURL(path)}${data.queryParamStart}${_paramsToString(extraParams)}`; return _allRequest(url, options, payload); }, _sendCustomRequest(url, options = {}, payload = '', data) { options.headers = options.headers || {}; options.headers['User-Agent'] = data.userAgent; return _allRequest(url, options, payload); }, _sendTokenRequest(url, options = {}) { return _allRequest(url, options); } }; function _allRequest(url, options, payload) { // console.log('options:') // console.dir(options) // console.log('payload:') // console.dir(payload) return new Promise((resolve, reject) => { if (_isURL(url)) { // console.log(url) const req = request(url, options, (res) => { // console.log('STATUSCODE: ', res.statusCode) res.setEncoding('utf8'); const resBody = []; res.on('data', (data) => { // console.log('resDATA: ', data) resBody.push(data); }); res.on('end', () => { resolve({ body: JSON.parse(resBody.join('')), status: res.statusCode, etag: res.headers.etag, expires: res.headers.expires, lastModified: res.headers['last-modified'], xPages: res.headers['x-pages'], xErrorLimitRemain: res.headers['x-esi-error-limit-remain'], xErrorLimitReset: res.headers['x-esi-error-limit-reset'] }); }); }); if (payload) req.write(JSON.stringify(payload)); req.on('error', function (err) { reject(err); }); req.end(); } else reject(new Error('invalid url')); }); } //# sourceMappingURL=Requests.js.map