-
Notifications
You must be signed in to change notification settings - Fork 11
Home
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.
- Making HTTP Calls and Middleware with Rem
- Creating an API client using Rem
- Using Rem's OAuth middleware with Express
- Saving and restoring user's access tokens
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]))
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
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
emits 'data', 'end', 'close'
res.statusCode
res.httpVersion
res.headers
res.setEncoding([encoding])
res.pause()
res.resume()
oauth.start([params], next(url, requestToken, requestSecret, results))
oauth.complete([verifier], requestToken, requestSecret, callback)
oauth.complete([verifier], requestToken, requestSecret, callback)