hyper-request
Advanced tools
Comparing version 3.2.0 to 3.2.2
@@ -10,2 +10,4 @@ 'use strict'; | ||
const MeterFactory = require('./lib/MeterFactory'); | ||
const deepValue = require('deep-value'); | ||
@@ -378,3 +380,3 @@ const deepSet = require('deep-setter'); | ||
if (this.debug) { | ||
console.log('request opts', requestOptions); | ||
this.log('request opts', requestOptions); | ||
} | ||
@@ -418,2 +420,6 @@ return requestOptions; | ||
let meters = new MeterFactory(); | ||
let preparationMeter = meters.meter('preparation_meter'); | ||
if (!opts || typeof opts !== 'object') { | ||
@@ -433,3 +439,3 @@ opts = {}; | ||
const postData = typeof opts.body !== 'undefined' ? JSON.stringify(opts.body) : null; | ||
const postData = typeof opts.body !== 'undefined' ? (typeof opts.body === 'string' ? opts.body : JSON.stringify(opts.body)) : null; | ||
let requestOptions = this.calcRequestOpts(verb, endpoint, opts, postData); | ||
@@ -457,2 +463,4 @@ | ||
preparationMeter.end(); | ||
let responseData = []; | ||
@@ -464,2 +472,4 @@ | ||
let firstChunk = meters.meter('first_chunk'); | ||
const Transformer = new Transform({ | ||
@@ -471,2 +481,5 @@ highWaterMark: (opts && typeof opts.highWaterMark === 'number') ? opts.highWaterMark : 16384 * 16, | ||
} | ||
firstChunk.end(); | ||
if (this.enablePipe) { | ||
@@ -484,5 +497,13 @@ callback(null, chunk); | ||
let resultant = new Promise((resolve, reject) => { | ||
let socketOpening = meters.meter('socket_opening'); | ||
const req = (requestOptions.protocol.indexOf('https') === -1 ? http : https).request(requestOptions, (response) => { | ||
socketOpening.end(); | ||
const startOfRequestTime = Date.now(); | ||
let requestFinished = meters.meter('response'); | ||
if (this.debug) { | ||
this.log(`request ${requestOptions.path} started @ ${startOfRequestTime}`); | ||
} | ||
if(this._fireAndForget) { | ||
@@ -501,4 +522,13 @@ return resolve(); | ||
Transformer.on('finish', () => { | ||
timeEndResponse = Date.now(); | ||
requestFinished.end(); | ||
let postProcess = meters.meter('post_process'); | ||
if (this.debug) { | ||
this.log(`request ${requestOptions.path} finished @ ${timeEndResponse}`); | ||
} | ||
let stringedResponse = responseData.join(''); | ||
@@ -511,2 +541,5 @@ let data = 'No Content'; | ||
let responseTimeDiff = (timeStartResponse-startOfRequestTime); | ||
postProcess.end(); | ||
let extendedResponse = { | ||
@@ -539,2 +572,3 @@ statusCode : response.statusCode, // keep it compliant with other libraries | ||
}, | ||
metrics : meters.getMeters(), | ||
headers: response.headers, | ||
@@ -580,2 +614,7 @@ cookies: responseCookies, | ||
Transformer.on('error', (err) => { | ||
if (this.debug) { | ||
this.log(`request ${requestOptions.path} errored @ ${Date.now()}`); | ||
} | ||
this.log('transform error', err); | ||
@@ -585,2 +624,12 @@ reject(err || new Error('unknown transform stream error')); | ||
Transformer.on('timeout', (err) => { | ||
if (this.debug) { | ||
this.log(`request ${requestOptions.path} timedout @ ${Date.now()}`); | ||
} | ||
this.log('transform error', err); | ||
reject(err || new Error('unknown transform stream error')); | ||
}); | ||
}); | ||
@@ -587,0 +636,0 @@ |
{ | ||
"name": "hyper-request", | ||
"version": "3.2.0", | ||
"version": "3.2.2", | ||
"description": "Make http Requests without all those sub-dependencies, just http/s with a api wrapper", | ||
@@ -35,3 +35,6 @@ "main": "hrequest.js", | ||
"deep-value": "^1.0.4" | ||
}, | ||
"devDependencies": { | ||
"chai": "^4.2.0" | ||
} | ||
} |
describe('SimpleRestClient Tests', function() { | ||
process.on('uncaughtException', (e)=>{ | ||
console.log('e', e); | ||
console.log('e', JSON.stringify(e, null, 3)); | ||
}) | ||
process.on('unhandledRejection', (e)=>{ | ||
console.log('e', e); | ||
console.log('e', JSON.stringify(e, null, 3)); | ||
}) | ||
@@ -9,0 +9,0 @@ |
@@ -34,5 +34,8 @@ /** | ||
}, function(data2){ | ||
console.log('data2', data2); | ||
console.log('data2', JSON.stringify(data2, null, 3)); | ||
done(); | ||
}, function(err){ | ||
console.log('err', JSON.stringify(err, null, 3)); | ||
done(err); | ||
@@ -39,0 +42,0 @@ assert.fail(err); |
58021
18
1195
1