jrobinsonc
5/24/2019 - 5:15 PM

Fetch implementation using https for Node

const fetch = options =>
  new Promise((resolve, reject) => {
    require('https').get(options, function(response) {
      let body = '';

      if (response.statusCode !== 200) {
        reject(
          new Error(`Request failed. Status code: ${response.statusCode}`),
        );

        response.resume();
        return;
      }
      
      response.on('error', err => reject(err));
      response.on('data', chunk => (body += chunk));
      response.on('end', () => resolve(body));
    });
  });