Comparing version 2.0.0 to 2.1.0
@@ -347,1 +347,26 @@ | ||
// Shortcuts | ||
internals.shortcut = function (method, uri /*, options, callback */) { | ||
var options = (typeof arguments[2] === 'function' ? {} : arguments[2]); | ||
var callback = (typeof arguments[2] === 'function' ? arguments[2] : arguments[3]); | ||
exports.request(method, uri, options, function (err, res) { | ||
if (err) { | ||
return callback(err); | ||
} | ||
exports.read(res, function (err, payload) { | ||
return callback(err, res, payload.toString()); | ||
}); | ||
}); | ||
}; | ||
exports.get = function (uri, options, callback) { internals.shortcut('GET', uri, options, callback); }; | ||
exports.post = function (uri, options, callback) { internals.shortcut('POST', uri, options, callback); }; | ||
exports.put = function (uri, options, callback) { internals.shortcut('PUT', uri, options, callback); }; | ||
exports.delete = function (uri, options, callback) { internals.shortcut('DELETE', uri, options, callback); }; |
{ | ||
"name": "nipple", | ||
"description": "HTTP Client Utilities", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"repository": "git://github.com/spumko/nipple", | ||
@@ -6,0 +6,0 @@ "main": "index", |
@@ -666,2 +666,110 @@ // Load modules | ||
}); | ||
describe('Shortcut', function () { | ||
it('get request', function (done) { | ||
var server = Http.createServer(function (req, res) { | ||
res.writeHead(200); | ||
res.end('ok'); | ||
}); | ||
server.listen(0, function () { | ||
Nipple.get('http://localhost:' + server.address().port, function (err, res, payload) { | ||
expect(err).to.not.exist; | ||
expect(res.statusCode).to.equal(200); | ||
expect(payload).to.equal('ok'); | ||
server.close(); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}); | ||
it('post request', function (done) { | ||
var server = Http.createServer(function (req, res) { | ||
res.writeHead(200); | ||
res.end('ok'); | ||
}); | ||
server.listen(0, function () { | ||
Nipple.post('http://localhost:' + server.address().port, { payload: '123' }, function (err, res, payload) { | ||
expect(err).to.not.exist; | ||
expect(res.statusCode).to.equal(200); | ||
expect(payload).to.equal('ok'); | ||
server.close(); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
it('put request', function (done) { | ||
var server = Http.createServer(function (req, res) { | ||
res.writeHead(200); | ||
res.end('ok'); | ||
}); | ||
server.listen(0, function () { | ||
Nipple.put('http://localhost:' + server.address().port, function (err, res, payload) { | ||
expect(err).to.not.exist; | ||
expect(res.statusCode).to.equal(200); | ||
expect(payload).to.equal('ok'); | ||
server.close(); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
it('delete request', function (done) { | ||
var server = Http.createServer(function (req, res) { | ||
res.writeHead(200); | ||
res.end('ok'); | ||
}); | ||
server.listen(0, function () { | ||
Nipple.delete('http://localhost:' + server.address().port, function (err, res, payload) { | ||
expect(err).to.not.exist; | ||
expect(res.statusCode).to.equal(200); | ||
expect(payload).to.equal('ok'); | ||
server.close(); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
it('errors on bad request', function (done) { | ||
var server = Http.createServer(function (req, res) { | ||
res.writeHead(200); | ||
res.end('ok'); | ||
}); | ||
server.listen(0, function () { | ||
var port = server.address().port; | ||
server.close(); | ||
Nipple.get('http://localhost:' + port, function (err, res, payload) { | ||
expect(err).to.exist; | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
83251
782