diff --git a/src/request.js b/src/request.js index 6eac7ef..b8d5776 100644 --- a/src/request.js +++ b/src/request.js @@ -45,11 +45,12 @@ export default function request({method, host, path, qs, agent}) { }); res.on('end', () => { - if (res.statusCode === 429 && res.headers['set-cookie']) { + if (res.statusCode === 429) { // Fix for the "too many requests" issue // Look for the set-cookie header and re-request - cookieVal = res.headers['set-cookie'][0].split(';')[0]; - options.headers = {'cookie': cookieVal}; + cookieVal = res.headers['set-cookie'] ? + res.headers['set-cookie'][0].split(';')[0] : ''; + options.headers = cookieVal ? {'cookie': cookieVal} : {}; rereq(options, function(err, response) { if (err) return reject(err); resolve(response); diff --git a/src/utilities.js b/src/utilities.js index 6f2152f..308d402 100644 --- a/src/utilities.js +++ b/src/utilities.js @@ -162,6 +162,10 @@ export function parseResults(results) { * @return {Array} Returns an array of comparisonItems */ export function formatComparisonItems(obj) { + // fix the querystring has the agent param from obj + obj = Object.assign({}, obj); + delete obj.agent; + const isMultiRegion = obj.geo && Array.isArray(obj.geo); let isMultiKeyword = Array.isArray(obj.keyword);