Socket
Socket
Sign inDemoInstall

needle

Package Overview
Dependencies
Maintainers
1
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

needle - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

35

lib/needle.js

@@ -14,2 +14,3 @@ //////////////////////////////////////////

url = require('url'),
unzip = require('zlib').unzip,
stringify = require('qs').stringify,

@@ -79,2 +80,3 @@ version = require('./../package').version;

var protocol = is_https ? https : http;
var request_compressed = options.compressed || false;

@@ -92,2 +94,4 @@ var parse_response = options.parse == false ? false : true;

if(request_compressed) headers['Accept-Encoding'] = 'gzip,deflate';
if(data) {

@@ -126,6 +130,23 @@ if(options.multipart){

var response_end = function(response, body){
if(process.env.DEBUG) console.log(response.headers);
var content_type = response.headers['content-type'].split(';')[0];
if(parse_response && parsers[content_type]) {
parsers[content_type](body, function(result){
if(callback) callback(null, response, result);
});
} else {
if(callback) callback(null, response, body);
}
};
var request = protocol.request(request_opts, function(response){
var body = '';
response.setEncoding('utf8');
var compressed = /gzip|deflate/.test(response.headers['content-encoding']);
var response_encoding = compressed ? 'binary' : 'utf8';
response.setEncoding(response_encoding);

@@ -139,10 +160,8 @@ if(timer) clearTimeout(timer);

response.on('end', function() {
var content_type = response.headers['content-type'].split(';')[0];
if(parse_response && parsers[content_type]) {
parsers[content_type](body, function(result){
if(callback) callback(null, response, result);
if(compressed)
unzip(new Buffer(body, 'binary'), function(err, buff){
response_end(response, buff.toString())
});
} else {
if(callback) callback(null, response, body);
}
else
response_end(response, body);
});

@@ -149,0 +168,0 @@

{
"name": "needle"
, "version": "0.1.4"
, "version": "0.1.5"
, "description": "Simplest HTTP client ever. Supports multipart uploads."

@@ -5,0 +5,0 @@ , "keywords": ["http", "https", "client", "multipart", "simple"]

Needle
======
HTTP client for node. Supports HTTP basic auth, HTTPS, nested params and multipart
form uploads. Really simple stuff, around ~200 lines of code.
HTTP client for node. Supports HTTPS, basic authentication, nested params, multipart
form uploads and gzip/deflate compression. Really simple stuff, around ~250 lines of code.

@@ -22,2 +22,3 @@ Usage

- compressed: Whether to ask for a deflated or gzipped response or not. Defaults to false.
- timeout: Returns error if response takes more than X. Defaults to 10000 (10 secs).

@@ -55,2 +56,3 @@ - multipart: Enables multipart/form-data encoding. Defaults to false.

password: 'secret',
compressed: true,
timeout: false,

@@ -57,0 +59,0 @@ headers: {

Sorry, the diff of this file is not supported yet

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