Socket
Socket
Sign inDemoInstall

hyper-request

Package Overview
Dependencies
2
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.2.0 to 3.2.2

lib/MeterFactory.js

53

hrequest.js

@@ -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 @@

5

package.json
{
"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);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc