0.3.1 • Published 10 years ago

dram v0.3.1

Weekly downloads
102
License
MIT
Repository
github
Last release
10 years ago

Dram Build Status

Expressive response generators for Oban. Inspired by Play! Framework's Results class.

npm install dram

Example

var handle = require('oban');
var resp   = require('dram');
var http   = require('http');

http.createServer(handle(function(req) {
	return resp.ok('hello world').withHeader('X-Powered-By', 'Oban');
})).listen(8000);
$ telnet localhost 8000
GET /
HTTP/1.1 200 OK
...snip...
X-Powered-By: Oban

hello world

API

simple :: Body → Result

Wraps any body-like object (String, Buffer, Array of String or Buffer, Stream of String or Buffer) in Result, so it can be chained.

with-status :: StatusCode → Result → Result

Adds the HTTP status to the Result. Can be called as a chained method on Results. Partially applied as:

ok ≡ with-status 200
not-found ≡ with-status 404
error ≡ with-status 500

with-header :: Name → Value → Result → Result

Adds the HTTP header to the result. Can be called as a chained method on Results.

redirect :: StatusCode → URI → Result → Result

Sets 3XX status and Location header. Partially applied as:

moved-permanently ≡ redirect 301
found ≡ redirect 302
see-other ≡ redirect 303
temporary-redirect ≡ redirect 307
permanent-redirect ≡ redirect 308

type :: ContentType → Result → Result

Shorthand for with-header 'content-type'.

json, html, text

Shorthand for type 'application/json', type 'text/html' and type 'text/plain' respectively.

with-cookie :: Name → Value → CookieOptions → Request → Request

Serialises a cookie value using cookie, and does with-header 'set-cookie' with it. For information on the possible options, see cookie's documentation.

with-session-cookie :: Name → Value → Request → Request

Set a cookie with no expiry (or other options).

Licence

MIT

0.3.1

10 years ago

0.3.0

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.0

10 years ago