slumber v0.11.0
Slumber (Node.js version)
Port of the Python's slumber library in Node.js -- A library that makes consuming a RESTful API easier and more convenient
Node's Slumber is a Node.js library that provides convenient yet powerful object-oriented interface to RESTful APIs. It acts as a wrapper around the excellent request library and abstracts away the handling of URLs, serialization, and request processing.
QuickStart
Install Node's Slumber
$ npm install slumber
Use Node's Slumber
Usage in CoffeeScript
slumber = require 'slumber'
# Connect to http://slumber.in/api/v1/ with the Basic Auth user/password of demo/demo
api = slumber.API 'http://slumber.in/api/v1/', { auth: ['demo', 'demo'] }, ->
# GET http://slumber.in/api/v1/note/
# Note: Any kwargs passed to get(), post(), put(), delete() will be used as url parameters
api('note').get (err, data) ->
console.log err, data
# ---
callback = (err, data) ->
console.log err, data
# POST http://slumber.in/api/v1/note/
new_post = api('note').post({'title': 'My Test Note', 'content': 'This is the content of my Test Note!'}, cb)
# PUT http://slumber.in/api/v1/note/{id}/
api('note')(new_post['id']).put({'content': 'I just changed the content of my Test Note!'}, cb)
# PATCH http://slumber.in/api/v1/note/{id}/
api('note')(new_post['id']).patch({'content': 'Wat!'}, cb)
# GET http://slumber.in/api/v1/note/{id}/
api('note')(new_post['id']).get(cb)
# DELETE http://slumber.in/api/v1/note/{id}/
api('note')(new_post['id']).delete(cb)
api('resource').get {username: "example", api_key: "1639eb74e86717f410c640d2712557aac0e989c8"}, cb
# GET http://slumber.in/api/v1/note/?title__startswith=Bacon
api('note').get(title__startswith="Bacon", cb)
How to use callbacks
node-slumber
uses a dynamic callback mechanism, based on the arity of the callback.
Depending on the callback arity, you will have:
- with an arity of 1:
function(err)
- with an arity of 2:
function(err, processedData)
- with an arity of 3:
function(err, fullRequestResponse, processedData)
Debug
node-slumber
uses the debug package.
To enable debug you can use the environment variable DEBUG=
as :
DEBUG='slumber:api' ...
to see debug fornode-slumber
API calls onlyDEBUG='slumber:*' ...
to see debug fornode-slumber
, more verboseDEBUG='*' node ...
to see debug for all modules usingdebug
, extremely verbose
Development
Requirements
- Node.js >= v0.10
See also
- Browse examples in CoffeeScript and Javascript
License
MIT
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago