Comparing version 2.14.0 to 2.16.0
@@ -1,17 +0,39 @@ | ||
{ "name" : "request" | ||
, "description" : "Simplified HTTP request client." | ||
, "tags" : ["http", "simple", "util", "utility"] | ||
, "version" : "2.14.0" | ||
, "author" : "Mikeal Rogers <mikeal.rogers@gmail.com>" | ||
, "repository" : | ||
{ "type" : "git" | ||
, "url" : "http://github.com/mikeal/request.git" | ||
{ | ||
"name": "request", | ||
"description": "Simplified HTTP request client.", | ||
"tags": [ | ||
"http", | ||
"simple", | ||
"util", | ||
"utility" | ||
], | ||
"version": "2.16.0", | ||
"author": "Mikeal Rogers <mikeal.rogers@gmail.com>", | ||
"repository": { | ||
"type": "git", | ||
"url": "http://github.com/mikeal/request.git" | ||
}, | ||
"bugs": { | ||
"url": "http://github.com/mikeal/request/issues" | ||
}, | ||
"engines": [ | ||
"node >= 0.3.6" | ||
], | ||
"main": "index.js", | ||
"dependencies": { | ||
"form-data": "~0.0.3", | ||
"mime": "~1.2.7", | ||
"hawk": "~0.10.0", | ||
"node-uuid": "~1.4.0", | ||
"cookie-jar": "~0.2.0", | ||
"aws-sign": "~0.2.0", | ||
"oauth-sign": "~0.2.0", | ||
"forever-agent": "~0.2.0", | ||
"tunnel-agent": "~0.2.0", | ||
"json-stringify-safe": "~3.0.0", | ||
"qs": "~0.5.0" | ||
}, | ||
"scripts": { | ||
"test": "node tests/run.js" | ||
} | ||
, "bugs" : | ||
{ "url" : "http://github.com/mikeal/request/issues" } | ||
, "engines" : ["node >= 0.3.6"] | ||
, "main" : "./main" | ||
, "dependencies": { "form-data":"~0.0.3", "mime":"~1.2.7" } | ||
, "bundleDependencies": ["form-data", "mime"] | ||
, "scripts": { "test": "node tests/run.js" } | ||
} |
@@ -151,3 +151,6 @@ # Request -- Simplified HTTP request method | ||
request.post({url:url, oauth:oauth}, function (e, r, body) { | ||
// Assume by some stretch of magic you aquired the verifier | ||
// Ideally, you would take the body in the response | ||
// and construct a URL that a user clicks on (like a sign in button). | ||
// The verifier is only available in the response after a user has | ||
// verified with twitter that they are authorizing your app. | ||
var access_token = qs.parse(body) | ||
@@ -158,4 +161,3 @@ , oauth = | ||
, token: access_token.oauth_token | ||
, verifier: VERIFIER | ||
, token_secret: access_token.oauth_token_secret | ||
, verifier: access_token.oauth_verifier | ||
} | ||
@@ -196,3 +198,3 @@ , url = 'https://api.twitter.com/oauth/access_token' | ||
* `headers` - http headers, defaults to {} | ||
* `body` - entity body for POST and PUT requests. Must be buffer or string. | ||
* `body` - entity body for PATCH, POST and PUT requests. Must be buffer or string. | ||
* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request. | ||
@@ -211,2 +213,3 @@ * `auth` - A hash containing values `user` || `username`, `password` || `pass`, and `sendImmediately` (optional). See documentation above. | ||
* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above. | ||
* `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example). | ||
* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option. | ||
@@ -235,2 +238,10 @@ * `jar` - Set to `false` if you don't want cookies to be remembered for future use or define your custom cookie jar (see examples section) | ||
### request.patch | ||
Same as request() but defaults to `method: "PATCH"`. | ||
```javascript | ||
request.patch(url) | ||
``` | ||
### request.post | ||
@@ -237,0 +248,0 @@ |
var spawn = require('child_process').spawn | ||
, exitCode = 0 | ||
, timeout = 10000 | ||
, fs = require('fs') | ||
; | ||
var tests = [ | ||
'test-basic-auth.js' | ||
, 'test-body.js' | ||
, 'test-cookie.js' | ||
, 'test-cookiejar.js' | ||
, 'test-defaults.js' | ||
, 'test-digest-auth.js' | ||
, 'test-errors.js' | ||
, 'test-form.js' | ||
, 'test-follow-all-303.js' | ||
, 'test-follow-all.js' | ||
, 'test-headers.js' | ||
, 'test-httpModule.js' | ||
, 'test-https.js' | ||
, 'test-https-strict.js' | ||
, 'test-oauth.js' | ||
, 'test-params.js' | ||
, 'test-pipes.js' | ||
, 'test-pool.js' | ||
, 'test-protocol-changing-redirect.js' | ||
, 'test-proxy.js' | ||
, 'test-piped-redirect.js' | ||
, 'test-qs.js' | ||
, 'test-redirect.js' | ||
, 'test-timeout.js' | ||
, 'test-toJSON.js' | ||
, 'test-tunnel.js' | ||
] | ||
fs.readdir(__dirname, function (e, files) { | ||
if (e) throw e | ||
var next = function () { | ||
if (tests.length === 0) process.exit(exitCode); | ||
var tests = files.filter(function (f) {return f.slice(0, 'test-'.length) === 'test-'}) | ||
var file = tests.shift() | ||
console.log(file) | ||
var proc = spawn('node', [ 'tests/' + file ]) | ||
var next = function () { | ||
if (tests.length === 0) process.exit(exitCode); | ||
var killed = false | ||
var t = setTimeout(function () { | ||
proc.kill() | ||
exitCode += 1 | ||
console.error(file + ' timeout') | ||
killed = true | ||
}, timeout) | ||
var file = tests.shift() | ||
console.log(file) | ||
var proc = spawn('node', [ 'tests/' + file ]) | ||
proc.stdout.pipe(process.stdout) | ||
proc.stderr.pipe(process.stderr) | ||
proc.on('exit', function (code) { | ||
if (code && !killed) console.error(file + ' failed') | ||
exitCode += code || 0 | ||
clearTimeout(t) | ||
next() | ||
}) | ||
} | ||
next() | ||
var killed = false | ||
var t = setTimeout(function () { | ||
proc.kill() | ||
exitCode += 1 | ||
console.error(file + ' timeout') | ||
killed = true | ||
}, timeout) | ||
proc.stdout.pipe(process.stdout) | ||
proc.stderr.pipe(process.stderr) | ||
proc.on('exit', function (code) { | ||
if (code && !killed) console.error(file + ' failed') | ||
exitCode += code || 0 | ||
clearTimeout(t) | ||
next() | ||
}) | ||
} | ||
next() | ||
}) | ||
var assert = require('assert') | ||
, http = require('http') | ||
, request = require('../main') | ||
, request = require('../index') | ||
; | ||
@@ -5,0 +5,0 @@ |
@@ -5,3 +5,3 @@ var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -39,2 +39,7 @@ | ||
} | ||
, testGetUTF8: | ||
{ resp: server.createGetResponse(new Buffer([0xEF, 0xBB, 0xBF, 226, 152, 131])) | ||
, encoding: "utf8" | ||
, expectBody: "☃" | ||
} | ||
, testGetJSON : | ||
@@ -41,0 +46,0 @@ { resp : server.createGetResponse('{"test":true}', 'application/json') |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -39,2 +39,17 @@ | ||
s.on('/patch', function (req, resp) { | ||
assert.equal(req.headers.foo, 'bar'); | ||
assert.equal(req.headers['content-type'], null); | ||
assert.equal(req.method, 'PATCH') | ||
resp.writeHead(200, {'Content-Type': 'application/json'}); | ||
resp.end(JSON.stringify({foo:'bar'})); | ||
}); | ||
// test post(string, object, function) | ||
request.defaults({headers:{foo:"bar"}}).patch(s.url + '/patch', {json: true}, function (e, r, b){ | ||
if (e) throw e; | ||
assert.deepEqual('bar', b.foo); | ||
counter += 1; | ||
}); | ||
s.on('/post-body', function (req, resp) { | ||
@@ -41,0 +56,0 @@ assert.equal(req.headers.foo, 'bar'); |
var assert = require('assert') | ||
, http = require('http') | ||
, request = require('../main') | ||
, request = require('../index') | ||
; | ||
@@ -5,0 +5,0 @@ |
var server = require('./server') | ||
, events = require('events') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -6,0 +6,0 @@ |
@@ -1,2 +0,2 @@ | ||
var request = require('../main'); | ||
var request = require('../index'); | ||
var http = require('http'); | ||
@@ -3,0 +3,0 @@ var requests = 0; |
@@ -1,2 +0,2 @@ | ||
var request = require('../main'); | ||
var request = require('../index'); | ||
var http = require('http'); | ||
@@ -3,0 +3,0 @@ var requests = 0; |
@@ -5,3 +5,3 @@ var assert = require('assert') | ||
var mime = require('mime'); | ||
var request = require('../main.js'); | ||
var request = require('../index'); | ||
var fs = require('fs'); | ||
@@ -8,0 +8,0 @@ |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, Cookie = require('../vendor/cookie') | ||
, Jar = require('../vendor/cookie/jar') | ||
, request = require('../index') | ||
, Cookie = require('cookie-jar') | ||
, Jar = Cookie.Jar | ||
, s = server.createServer() | ||
@@ -7,0 +7,0 @@ |
@@ -5,3 +5,3 @@ var http = require('http') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
@@ -67,4 +67,4 @@ | ||
request(to_https, {'httpModules':httpModules}, function (er, res, body) { | ||
assert.ok(!er, 'Bounce to SSL worked') | ||
request(to_https, {'httpModules':httpModules, strictSSL:false}, function (er, res, body) { | ||
if (er) throw er | ||
assert.equal(body, 'https', 'Received HTTPS server body') | ||
@@ -74,4 +74,4 @@ done() | ||
request(to_plain, {'httpModules':httpModules}, function (er, res, body) { | ||
assert.ok(!er, 'Bounce to plaintext server worked') | ||
request(to_plain, {'httpModules':httpModules, strictSSL:false}, function (er, res, body) { | ||
if (er) throw er | ||
assert.equal(body, 'plain', 'Received HTTPS server body') | ||
@@ -78,0 +78,0 @@ done() |
@@ -6,3 +6,3 @@ // a test where we validate the siguature of the keys | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
, fs = require('fs') | ||
@@ -9,0 +9,0 @@ , path = require('path') |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
@@ -5,0 +5,0 @@ var s = server.createSSLServer(); |
@@ -1,5 +0,5 @@ | ||
var hmacsign = require('../oauth').hmacsign | ||
var hmacsign = require('oauth-sign').hmacsign | ||
, assert = require('assert') | ||
, qs = require('querystring') | ||
, request = require('../main') | ||
, request = require('../index') | ||
; | ||
@@ -6,0 +6,0 @@ |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -85,3 +85,4 @@ | ||
if (counter === 0) { | ||
console.log(Object.keys(tests).length+" tests passed.") | ||
assert.notEqual(typeof test.callback, 'function') | ||
console.log(1 + Object.keys(tests).length+" tests passed.") | ||
s.close() | ||
@@ -88,0 +89,0 @@ } |
var http = require('http') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -12,11 +12,7 @@ | ||
// server one | ||
var s1 = http.createServer(function (req, resp) | ||
{ | ||
if (req.url == '/original') | ||
{ | ||
var s1 = http.createServer(function (req, resp) { | ||
if (req.url == '/original') { | ||
resp.writeHeader(302, {'location': '/redirected'}) | ||
resp.end() | ||
} | ||
else if (req.url == '/redirected') | ||
{ | ||
} else if (req.url == '/redirected') { | ||
resp.writeHeader(200, {'content-type': 'text/plain'}) | ||
@@ -31,5 +27,3 @@ resp.write('OK') | ||
// server two | ||
var s2 = http.createServer(function (req, resp) | ||
{ | ||
var s2 = http.createServer(function (req, resp) { | ||
var x = request('http://localhost:'+portOne+'/original') | ||
@@ -39,7 +33,4 @@ req.pipe(x) | ||
}).listen(portTwo, function() | ||
{ | ||
}).listen(portTwo, function () { | ||
var r = request('http://localhost:'+portTwo+'/original', function (err, res, body) { | ||
assert.equal(body, 'OK') | ||
@@ -49,3 +40,2 @@ | ||
s2.close() | ||
}); | ||
@@ -56,2 +46,2 @@ | ||
}); | ||
}) |
@@ -6,3 +6,3 @@ var server = require('./server') | ||
, fs = require('fs') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
, path = require('path') | ||
@@ -128,4 +128,4 @@ , util = require('util') | ||
} | ||
resp.writeHead('200', {'content-type':'image/png'}) | ||
fs.createReadStream(path.join(__dirname, 'googledoodle.png')).pipe(resp) | ||
resp.writeHead('200', {'content-type':'image/jpeg'}) | ||
fs.createReadStream(path.join(__dirname, 'googledoodle.jpg')).pipe(resp) | ||
}) | ||
@@ -151,3 +151,3 @@ s.on('/onelineproxy', function (req, resp) { | ||
var doodleWrite = fs.createWriteStream(path.join(__dirname, 'test.png')) | ||
var doodleWrite = fs.createWriteStream(path.join(__dirname, 'test.jpg')) | ||
@@ -158,3 +158,3 @@ counter++ | ||
doodleWrite.on('close', function () { | ||
assert.deepEqual(fs.readFileSync(path.join(__dirname, 'googledoodle.png')), fs.readFileSync(path.join(__dirname, 'test.png'))) | ||
assert.deepEqual(fs.readFileSync(path.join(__dirname, 'googledoodle.jpg')), fs.readFileSync(path.join(__dirname, 'test.jpg'))) | ||
check() | ||
@@ -164,3 +164,3 @@ }) | ||
process.on('exit', function () { | ||
fs.unlinkSync(path.join(__dirname, 'test.png')) | ||
fs.unlinkSync(path.join(__dirname, 'test.jpg')) | ||
}) | ||
@@ -167,0 +167,0 @@ |
@@ -1,2 +0,2 @@ | ||
var request = require('../main') | ||
var request = require('../index') | ||
, http = require('http') | ||
@@ -3,0 +3,0 @@ , assert = require('assert') |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
@@ -5,0 +5,0 @@ |
@@ -6,3 +6,3 @@ var server = require('./server') | ||
, fs = require('fs') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
, path = require('path') | ||
@@ -9,0 +9,0 @@ , util = require('util') |
@@ -1,2 +0,2 @@ | ||
var request = request = require('../main.js') | ||
var request = request = require('../index') | ||
, assert = require('assert') | ||
@@ -29,1 +29,7 @@ ; | ||
}, 1) | ||
// Test giving empty qs property | ||
var req5 = request.get({ uri: 'http://www.google.com', qs: {}}) | ||
setTimeout(function(){ | ||
assert.equal('/', req5.path) | ||
}, 1) |
var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, Cookie = require('../vendor/cookie') | ||
, Jar = require('../vendor/cookie/jar') | ||
, request = require('../index') | ||
, Cookie = require('cookie-jar') | ||
, Jar = Cookie.Jar | ||
; | ||
@@ -7,0 +8,0 @@ var s = server.createServer() |
@@ -1,2 +0,2 @@ | ||
var request = require('../main') | ||
var request = require('../index') | ||
@@ -3,0 +3,0 @@ var r = request.get('https://log.curlybracecast.com.s3.amazonaws.com/', |
@@ -5,3 +5,3 @@ var server = require('./server') | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
; | ||
@@ -8,0 +8,0 @@ |
@@ -1,2 +0,2 @@ | ||
var request = require('../main') | ||
var request = require('../index') | ||
, http = require('http') | ||
@@ -3,0 +3,0 @@ , assert = require('assert') |
@@ -9,3 +9,3 @@ // test that we can tunnel a https request over an http proxy | ||
, assert = require('assert') | ||
, request = require('../main.js') | ||
, request = require('../index') | ||
, fs = require('fs') | ||
@@ -12,0 +12,0 @@ , path = require('path') |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
0
343
11
20
188055
11
49
2924
+ Addedaws-sign@~0.2.0
+ Addedcookie-jar@~0.2.0
+ Addedforever-agent@~0.2.0
+ Addedhawk@~0.10.0
+ Addedjson-stringify-safe@~3.0.0
+ Addednode-uuid@~1.4.0
+ Addedoauth-sign@~0.2.0
+ Addedqs@~0.5.0
+ Addedtunnel-agent@~0.2.0
+ Addedasync@0.2.10(transitive)
+ Addedaws-sign@0.2.1(transitive)
+ Addedboom@0.3.8(transitive)
+ Addedcombined-stream@0.0.7(transitive)
+ Addedcookie-jar@0.2.0(transitive)
+ Addedcryptiles@0.1.3(transitive)
+ Addeddelayed-stream@0.0.5(transitive)
+ Addedforever-agent@0.2.0(transitive)
+ Addedform-data@0.0.10(transitive)
+ Addedhawk@0.10.2(transitive)
+ Addedhoek@0.7.6(transitive)
+ Addedjson-stringify-safe@3.0.0(transitive)
+ Addedmime@1.2.11(transitive)
+ Addednode-uuid@1.4.8(transitive)
+ Addedoauth-sign@0.2.0(transitive)
+ Addedqs@0.5.6(transitive)
+ Addedsntp@0.1.4(transitive)
+ Addedtunnel-agent@0.2.0(transitive)