/node-slumber

Port of Python's slumber library -- (RESTful API library)

Primary LanguageCoffeeScript

Slumber (Node.js version)

Build Status Dependency Status authors library users Total views Views in the last 24 hours Bitdeli Badge

NPM Badge

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

  1. Install Node's Slumber

    $ npm install slumber
  2. 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()

  # 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!'})

  # PUT http://slumber.in/api/v1/note/{id}/
  api('note')(new_post['id']).put({'content': 'I just changed the content of my Test Note!'})

  # PATCH http://slumber.in/api/v1/note/{id}/
  api('note')(new_post['id']).patch({'content': 'Wat!'})

  # GET http://slumber.in/api/v1/note/{id}/
  api('note')(new_post['id']).get()

  # DELETE http://slumber.in/api/v1/note/{id}/
  api('note')(new_post['id']).delete()

  api('resource').get {username: "example", api_key: "1639eb74e86717f410c640d2712557aac0e989c8"}

  # GET http://slumber.in/api/v1/note/?title__startswith=Bacon
  api('note').get(title__startswith="Bacon")

Development

Gitter chat

Requirements

  • Node.js >= v0.10

See also

  • Browse examples in CoffeeScript and Javascript

License

MIT