Skip to content

Commit

Permalink
fix: sync zlib on request, add content-length header
Browse files Browse the repository at this point in the history
  • Loading branch information
Anton Drukh committed Jul 16, 2018
1 parent 3ddb455 commit f0b4a9a
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions lib/request/request.js
Expand Up @@ -18,32 +18,33 @@ var analytics = require('../analytics');
function makeRequest(payload) {
return new Promise(function (resolve, reject) {
var body = payload.body;
var bodyStream;
var data;

delete payload.body;

if (body) {
// always compress going upstream
bodyStream = new stream.Readable();
var json = JSON.stringify(body);
bodyStream.push(json);
bodyStream.push(null);
bodyStream = bodyStream.pipe(zlib.createGzip());
if (json.length < 1e4) {
debug(JSON.stringify(body, '', 2));
}

// always compress going upstream
data = zlib.gzipSync(json);

snykDebug('sending request to:', payload.url);
snykDebug('request body size:', json.length);
snykDebug('gzipped request body size:', data.length);
if (!payload.url.endsWith('/analytics/cli')) {
analytics.add('payloadSize', json.length);
}
if (json.length < 1e4) {
debug(JSON.stringify(body, '', 2));
analytics.add('gzippedPayloadSize', data.length);
}

if (!payload.headers) {
payload.headers = {};
}

payload.headers['content-encoding'] = 'gzip';
payload.headers['content-length'] = data.length;
}

var url = parse(payload.url);
Expand Down Expand Up @@ -89,7 +90,7 @@ function makeRequest(payload) {
options.rejectUnauthorized = false;
}

needle.request(method, url, bodyStream, options, function (err, res, body) {
needle.request(method, url, data, options, function (err, res, body) {
debug(err);
debug('response (%s): ', (res || {}).statusCode, JSON.stringify(body));
if (err) {
Expand Down

0 comments on commit f0b4a9a

Please sign in to comment.