Skip to content
tcr edited this page Mar 15, 2013 · 38 revisions

Rem is an extensible HTTP client with middleware for Node.js and browsers. Built to power anything REST client, Rem comes with support for popular web services out of the box.

Topics

API Reference

Rem Client

A Rem Client models an API. Calls for a client follow this format:

api[.format]([url fragments]).method([[query,] mime, body,] callback(err, data[, response]))

Defining a client

To set the default format, use format: 'type'.

var client = rem.createClient({format: 'json'});
client('http://archive.org/', {output: 'json'}).get(function (err, json) { ... }) // is JSON

To set a prefix for your URL, use base: 'http://path/'.

var client = rem.createClient({base: 'http://api.github.com'});
var client = rem.createClient('http://api.github.com'); // shorthand.
client('users/tcr/repos').get(function (err, json) { ... }) // http://api.github.com/users/tcr/repos

Classes

rem.ClientRequest

on 'pipe' // piped into other stream

req.headers
req.setHeader(key, value)
req.getHeader(key)
req.removeHeader(key)
req.url.protocol
req.url.auth
req.url.hostname
req.url.port
req.url.pathname
req.url.query
req.url.hash
req.url.getHost()
req.url.getPath()
req.url.toString()
req.url.parse(str)
req.write(chunk, [encoding])
req.end([data], [encoding])
req.send() // returns rem.ClientCall

rem.ClientResponse

emits 'data', 'end', 'close'

res.statusCode
res.httpVersion
res.headers
res.setEncoding([encoding])
res.pause()
res.resume()

OAuthentication

oauth.start([params], next(url, requestToken, requestSecret, results)) oauth.complete([verifier], requestToken, requestSecret, callback) oauth.complete([verifier], requestToken, requestSecret, callback)