httpsRequest.js 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. "use strict";
  2. const https = require('https');
  3. function makeCallback(resolve, reject, noJSON) {
  4. return function (res) {
  5. let data = '';
  6. res.on('data', chunk => {
  7. data += chunk;
  8. });
  9. res.on('end', () => {
  10. if (noJSON) {
  11. return resolve(data);
  12. }
  13. try {
  14. data = JSON.parse(data);
  15. } catch (e) {
  16. return reject(e);
  17. }
  18. resolve(data);
  19. });
  20. res.on('error', reject);
  21. };
  22. }
  23. function get(options, noJSON = false) {
  24. return new Promise((resolve, reject) => {
  25. https.get(options, makeCallback(resolve, reject, noJSON)).on('error', reject);
  26. });
  27. }
  28. function request(options, postData) {
  29. return new Promise((resolve, reject) => {
  30. const req = https.request(options, makeCallback(resolve, reject));
  31. req.on('error', reject);
  32. req.write(postData);
  33. req.end();
  34. });
  35. }
  36. module.exports = {
  37. get,
  38. request
  39. };
  40. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJodHRwcyIsInJlcXVpcmUiLCJtYWtlQ2FsbGJhY2siLCJyZXNvbHZlIiwicmVqZWN0Iiwibm9KU09OIiwicmVzIiwiZGF0YSIsIm9uIiwiY2h1bmsiLCJKU09OIiwicGFyc2UiLCJlIiwiZ2V0Iiwib3B0aW9ucyIsIlByb21pc2UiLCJyZXF1ZXN0IiwicG9zdERhdGEiLCJyZXEiLCJ3cml0ZSIsImVuZCIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQWRhcHRlcnMvQXV0aC9odHRwc1JlcXVlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaHR0cHMgPSByZXF1aXJlKCdodHRwcycpO1xuXG5mdW5jdGlvbiBtYWtlQ2FsbGJhY2socmVzb2x2ZSwgcmVqZWN0LCBub0pTT04pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXMpIHtcbiAgICBsZXQgZGF0YSA9ICcnO1xuICAgIHJlcy5vbignZGF0YScsIGNodW5rID0+IHtcbiAgICAgIGRhdGEgKz0gY2h1bms7XG4gICAgfSk7XG4gICAgcmVzLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICBpZiAobm9KU09OKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKGRhdGEpO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZSk7XG4gICAgICB9XG4gICAgICByZXNvbHZlKGRhdGEpO1xuICAgIH0pO1xuICAgIHJlcy5vbignZXJyb3InLCByZWplY3QpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBnZXQob3B0aW9ucywgbm9KU09OID0gZmFsc2UpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBodHRwcy5nZXQob3B0aW9ucywgbWFrZUNhbGxiYWNrKHJlc29sdmUsIHJlamVjdCwgbm9KU09OKSkub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcXVlc3Qob3B0aW9ucywgcG9zdERhdGEpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZXEgPSBodHRwcy5yZXF1ZXN0KG9wdGlvbnMsIG1ha2VDYWxsYmFjayhyZXNvbHZlLCByZWplY3QpKTtcbiAgICByZXEub24oJ2Vycm9yJywgcmVqZWN0KTtcbiAgICByZXEud3JpdGUocG9zdERhdGEpO1xuICAgIHJlcS5lbmQoKTtcbiAgfSk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBnZXQsIHJlcXVlc3QgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxLQUFLLEdBQUdDLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFFOUIsU0FBU0MsWUFBWUEsQ0FBQ0MsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLE1BQU0sRUFBRTtFQUM3QyxPQUFPLFVBQVVDLEdBQUcsRUFBRTtJQUNwQixJQUFJQyxJQUFJLEdBQUcsRUFBRTtJQUNiRCxHQUFHLENBQUNFLEVBQUUsQ0FBQyxNQUFNLEVBQUVDLEtBQUssSUFBSTtNQUN0QkYsSUFBSSxJQUFJRSxLQUFLO0lBQ2YsQ0FBQyxDQUFDO0lBQ0ZILEdBQUcsQ0FBQ0UsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNO01BQ2xCLElBQUlILE1BQU0sRUFBRTtRQUNWLE9BQU9GLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDO01BQ3RCO01BQ0EsSUFBSTtRQUNGQSxJQUFJLEdBQUdHLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixJQUFJLENBQUM7TUFDekIsQ0FBQyxDQUFDLE9BQU9LLENBQUMsRUFBRTtRQUNWLE9BQU9SLE1BQU0sQ0FBQ1EsQ0FBQyxDQUFDO01BQ2xCO01BQ0FULE9BQU8sQ0FBQ0ksSUFBSSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBQ0ZELEdBQUcsQ0FBQ0UsRUFBRSxDQUFDLE9BQU8sRUFBRUosTUFBTSxDQUFDO0VBQ3pCLENBQUM7QUFDSDtBQUVBLFNBQVNTLEdBQUdBLENBQUNDLE9BQU8sRUFBRVQsTUFBTSxHQUFHLEtBQUssRUFBRTtFQUNwQyxPQUFPLElBQUlVLE9BQU8sQ0FBQyxDQUFDWixPQUFPLEVBQUVDLE1BQU0sS0FBSztJQUN0Q0osS0FBSyxDQUFDYSxHQUFHLENBQUNDLE9BQU8sRUFBRVosWUFBWSxDQUFDQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxDQUFDLENBQUMsQ0FBQ0csRUFBRSxDQUFDLE9BQU8sRUFBRUosTUFBTSxDQUFDO0VBQy9FLENBQUMsQ0FBQztBQUNKO0FBRUEsU0FBU1ksT0FBT0EsQ0FBQ0YsT0FBTyxFQUFFRyxRQUFRLEVBQUU7RUFDbEMsT0FBTyxJQUFJRixPQUFPLENBQUMsQ0FBQ1osT0FBTyxFQUFFQyxNQUFNLEtBQUs7SUFDdEMsTUFBTWMsR0FBRyxHQUFHbEIsS0FBSyxDQUFDZ0IsT0FBTyxDQUFDRixPQUFPLEVBQUVaLFlBQVksQ0FBQ0MsT0FBTyxFQUFFQyxNQUFNLENBQUMsQ0FBQztJQUNqRWMsR0FBRyxDQUFDVixFQUFFLENBQUMsT0FBTyxFQUFFSixNQUFNLENBQUM7SUFDdkJjLEdBQUcsQ0FBQ0MsS0FBSyxDQUFDRixRQUFRLENBQUM7SUFDbkJDLEdBQUcsQ0FBQ0UsR0FBRyxDQUFDLENBQUM7RUFDWCxDQUFDLENBQUM7QUFDSjtBQUVBQyxNQUFNLENBQUNDLE9BQU8sR0FBRztFQUFFVCxHQUFHO0VBQUVHO0FBQVEsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==