|
|
|
@ -88,27 +88,31 @@ DatadogMetricClient.prototype.request = function(method, path, params, callback) |
|
|
|
const req = https.request(http_options, function(res) { |
|
|
|
res.on('error', function(err) { |
|
|
|
if (typeof callback === 'function') { |
|
|
|
callback(err, null, res.statusCode); |
|
|
|
return callback(err, null, res.statusCode); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
let data = ''; |
|
|
|
let _data = ''; |
|
|
|
res.on('data', function(chunk) { |
|
|
|
data += chunk; |
|
|
|
_data += chunk; |
|
|
|
}); |
|
|
|
|
|
|
|
res.on('end', function() { |
|
|
|
let error = null; |
|
|
|
let data; |
|
|
|
|
|
|
|
try { |
|
|
|
data = json.parse(data); |
|
|
|
} catch (e) {} |
|
|
|
data = json.parse(_data); |
|
|
|
} catch (e) { |
|
|
|
data = {}; |
|
|
|
} |
|
|
|
if (data.errors) { |
|
|
|
error = data.errors; |
|
|
|
data = null; |
|
|
|
} |
|
|
|
|
|
|
|
if (typeof callback === 'function') { |
|
|
|
callback(error, data, res.statusCode); |
|
|
|
return callback(error, data, res.statusCode); |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
@ -121,7 +125,7 @@ DatadogMetricClient.prototype.request = function(method, path, params, callback) |
|
|
|
// data being received, or SSL-related issues.
|
|
|
|
req.on('error', function(err) { |
|
|
|
if (typeof callback === 'function') { |
|
|
|
callback(err, null, 0); |
|
|
|
return callback(err, null, 0); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
|