🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

superagent

Package Overview
Dependencies
Maintainers
10
Versions
177
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

superagent - npm Package Compare versions

Comparing version

to
1.8.2

3

bower.json
{
"name": "superagent",
"main": "lib/client.js",
"dependencies": {
"form-data": "form-data-superagent#^1.0.0"
}
}

4

component.json
{
"name": "superagent",
"repo": "visionmedia/superagent",
"description": "awesome http requests",
"version": "1.2.0",
"version": "1.8.2",
"description": "elegant & feature rich browser / node HTTP with a fluent API",
"keywords": [

@@ -7,0 +7,0 @@ "http",

@@ -0,1 +1,8 @@

# 1.8.2 (2016-03-20)
* Fixed handling of HTTP status 204 with content-encoding: gzip (Andrew Shelton)
* Handling of FormData error events (scriptype)
* Fixed parsing of `vnd+json` MIME types (Kornel Lesiński)
* Aliased browser implementation of `.parse()` as `.serialize()` for forward compatibility
# 1.8.1 (2016-03-14)

@@ -2,0 +9,0 @@

@@ -393,2 +393,5 @@ /**

var parse = request.parse[this.type];
if (!parse && isJSON(this.type)) {
parse = request.parse['application/json'];
}
return parse && str && (str.length || str instanceof Object)

@@ -695,7 +698,13 @@ ? parse(str)

Request.prototype.attach = function(field, file, filename){
if (!this._formData) this._formData = new root.FormData();
this._formData.append(field, file, filename || file.name);
this._getFormData().append(field, file, filename || file.name);
return this;
};
Request.prototype._getFormData = function(){
if (!this._formData) {
this._formData = new root.FormData();
}
return this._formData;
};
/**

@@ -770,2 +779,18 @@ * Send `data` as the request body, defaulting the `.type()` to "json" when

/**
* @deprecated
*/
Response.prototype.parse = function serialize(fn){
if (root.console) {
console.warn("Client-side parse() method has been renamed to serialize(). This method is not compatible with superagent v2.0");
}
this.serialize(fn);
return this;
};
Response.prototype.serialize = function serialize(fn){
this._parser = fn;
return this;
};
/**
* Invoke the callback with `err` and `res`

@@ -772,0 +797,0 @@ * and handle arity check.

@@ -180,3 +180,2 @@

Request.prototype.attach = function(field, file, filename){
if (!this._formData) this._formData = new FormData();
if ('string' == typeof file) {

@@ -186,9 +185,20 @@ if (!filename) filename = file;

file = fs.createReadStream(file);
} else if(!filename && file.path) {
} else if (!filename && file.path) {
filename = file.path;
}
this._formData.append(field, file, { filename: filename });
this._getFormData().append(field, file, { filename: filename });
return this;
};
Request.prototype._getFormData = function() {
if (!this._formData) {
this._formData = new FormData();
this._formData.on('error', function(err) {
this.emit('error', err);
this.abort();
}.bind(this));
}
return this._formData;
};
/**

@@ -434,3 +444,3 @@ * Set the max redirects to `n`.

if (/^(deflate|gzip)$/.test(res.headers['content-encoding'])) {
if (self._shouldUnzip(res)) {
res.pipe(zlib.createUnzip()).pipe(stream, options);

@@ -817,6 +827,7 @@ } else {

// zlib support
if (/^(deflate|gzip)$/.test(res.headers['content-encoding'])) {
if (self._shouldUnzip(res)) {
utils.unzip(req, res);
}
// don't buffer multipart

@@ -970,2 +981,21 @@ if (multipart) buffer = false;

/**
* Check whether response has a non-0-sized gzip-encoded body
*/
Request.prototype._shouldUnzip = function(res){
if (res.statusCode === 204 || res.statusCode === 304) {
// These aren't supposed to have any body
return false;
}
// header content is a string, and distinction between 0 and no information is crucial
if ('0' === res.headers['content-length']) {
// We know that the body is empty (unfortunately, this check does not cover chunked encoding)
return false;
}
// console.log(res);
return /^\s*(?:deflate|gzip)\s*$/.test(res.headers['content-encoding']);
};
/**
* To json.

@@ -972,0 +1002,0 @@ *

@@ -128,4 +128,3 @@

// add `this` Stream's readable side as a stream for this Part
if (!this._req._formData) this._req._formData = new FormData();
this._req._formData.append(this._name, this, {
this._req._getFormData().append(this._name, this, {
contentType: this._type,

@@ -132,0 +131,0 @@ filename: this._filename

@@ -164,8 +164,4 @@ /**

exports.field = function(name, val) {
if (!this._formData) {
var FormData = require('form-data'); // browserify compatible. May throw if FormData is not supported natively.
this._formData = new FormData();
}
this._formData.append(name, val);
this._getFormData().append(name, val);
return this;
};
{
"name": "superagent",
"version": "1.8.1",
"version": "1.8.2",
"description": "elegant & feature rich browser / node HTTP with a fluent API",

@@ -18,2 +18,4 @@ "scripts": {

"contributors": [
"Kornel Lesiński <kornel@geekhood.net>",
"Peter Lyons <pete@peterlyons.com>",
"Hunter Loftis <hunter@hunterloftis.com>"

@@ -20,0 +22,0 @@ ],

@@ -180,11 +180,7 @@ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.superagent=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){

exports.field = function(name, val) {
if (!this._formData) {
var FormData = require('form-data'); // browserify compatible. May throw if FormData is not supported natively.
this._formData = new FormData();
}
this._formData.append(name, val);
this._getFormData().append(name, val);
return this;
};
},{"./is-object":1,"form-data":5}],3:[function(require,module,exports){
},{"./is-object":1}],3:[function(require,module,exports){
// The node and browser modules expose versions of this with the

@@ -387,4 +383,2 @@ // appropriate constructor function bound as first argument

},{}],5:[function(require,module,exports){
module.exports = FormData;
},{}],6:[function(require,module,exports){

@@ -414,3 +408,3 @@ /**

};
},{}],7:[function(require,module,exports){
},{}],6:[function(require,module,exports){
/**

@@ -808,2 +802,5 @@ * Module dependencies.

var parse = request.parse[this.type];
if (!parse && isJSON(this.type)) {
parse = request.parse['application/json'];
}
return parse && str && (str.length || str instanceof Object)

@@ -1110,7 +1107,13 @@ ? parse(str)

Request.prototype.attach = function(field, file, filename){
if (!this._formData) this._formData = new root.FormData();
this._formData.append(field, file, filename || file.name);
this._getFormData().append(field, file, filename || file.name);
return this;
};
Request.prototype._getFormData = function(){
if (!this._formData) {
this._formData = new root.FormData();
}
return this._formData;
};
/**

@@ -1185,2 +1188,18 @@ * Send `data` as the request body, defaulting the `.type()` to "json" when

/**
* @deprecated
*/
Response.prototype.parse = function serialize(fn){
if (root.console) {
console.warn("Client-side parse() method has been renamed to serialize(). This method is not compatible with superagent v2.0");
}
this.serialize(fn);
return this;
};
Response.prototype.serialize = function serialize(fn){
this._parser = fn;
return this;
};
/**
* Invoke the callback with `err` and `res`

@@ -1472,3 +1491,3 @@ * and handle arity check.

},{"./is-object":1,"./request":3,"./request-base":2,"emitter":4,"reduce":6}]},{},[7])(7)
},{"./is-object":1,"./request":3,"./request-base":2,"emitter":4,"reduce":5}]},{},[6])(6)
});