Socket
Socket
Sign inDemoInstall

wreck

Package Overview
Dependencies
Maintainers
2
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wreck - npm Package Compare versions

Comparing version 5.1.0 to 5.2.0

47

lib/index.js

@@ -219,5 +219,3 @@

if (err ||
!options.json) {
if (err || !options.json) {
return callback(err, buffer);

@@ -228,2 +226,14 @@ }

var result;
if (buffer.length === 0) {
return callback(null, null);
}
if (options.json === 'force') {
result = internals.tryParseBuffer(buffer);
return callback(result.err, result.json);
}
// mode is "smart" or true
var contentType = (res.headers && res.headers['content-type']) || '';

@@ -236,14 +246,4 @@ var mime = contentType.split(';')[0].trim().toLowerCase();

if (buffer.length === 0) {
return callback(null, null);
}
try {
var json = JSON.parse(buffer.toString());
}
catch (err) {
return callback(err, null);
}
return callback(null, json);
result = internals.tryParseBuffer(buffer);
return callback(result.err, result.json);
};

@@ -391,1 +391,18 @@

};
internals.tryParseBuffer = function (buffer) {
var result = {
json: null,
err: null
};
try {
var json = JSON.parse(buffer.toString());
result.json = json;
}
catch (err) {
result.err = err;
}
return result;
};
{
"name": "wreck",
"description": "HTTP Client Utilities",
"version": "5.1.0",
"version": "5.2.0",
"repository": "git://github.com/hapijs/wreck",

@@ -6,0 +6,0 @@ "main": "index",

@@ -88,4 +88,5 @@ ![wreck Logo](https://raw.github.com/hapijs/wreck/master/images/wreck.png)

aborting handling of the response. Defaults to unlimited.
- `json` - A flag indicating whether the payload should be parsed as JSON
if the response indicates a JSON content-type.
- `json` - A value indicating how to try to parse the payload as JSON. Defaults to `undefined` meaning no parse logic.
- `true`, 'smart' - only try `JSON.parse` if the response indicates a JSON content-type.
- `force` - try `JSON.parse` regardless of the content-type header.
- `maxBytes` - The maximum allowed response payload size. Defaults to unlimited.

@@ -92,0 +93,0 @@ - `callback` - The callback function using the signature `function (err, payload)` where:

@@ -1390,3 +1390,3 @@ // Load modules

var options = {
json: true
json: 'SMART'
};

@@ -1404,2 +1404,55 @@

});
it('will try to parse json in "force" mode, regardless of the header', function (done) {
var server = Http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end(JSON.stringify({ foo: 'bar' }));
});
server.listen(0, function () {
var port = server.address().port;
var options = {
json: 'force'
};
Wreck.get('http://localhost:' + port, options, function (err, res, payload) {
expect(err).to.not.exist();
expect(res.statusCode).to.equal(200);
expect(payload).to.not.equal(null);
expect(payload).to.deep.equal({
foo: 'bar'
});
server.close();
done();
});
});
});
it('will error on invalid json received in "force" mode', function (done) {
var server = Http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('ok');
});
server.listen(0, function () {
var port = server.address().port;
var options = {
json: 'force'
};
Wreck.get('http://localhost:' + port, options, function (err, res, payload) {
expect(err).to.exist();
server.close();
done();
});
});
});
});

@@ -1406,0 +1459,0 @@

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc