A resource-oriented DSL for configuring koa.
To configure resourced you need to tell it which directory to look for resources in:
var resourced = require('resourced'); var router = require('koa-router'); Q.spawn(function *() { // ... app.use(router(app)); var resourcesDir = __dirname + '/resources'; yield * resourced.configureResourcesInDirectory(resourcesDir, app); // ,,, });
Note that koa-router is also required and that it, and any other middleware, must be installed before resourced.
The following shows a simple person resource, where the JSON response includes a link to the associated address:
var Resource = require('resourced').Resource; var http = require('resourced').http; var cache = require('resourced').cache; var ensure = require('rules').ensure; var addressResource = require('./address'); var people = [ { firstName: "bob", lastName: "smith", id : 1, "job": "tinker", addressId: 3 } ]; module.exports = new Resource({ url: "/person/:id", cache: cache.minutes(5).publically(), respondsTo: [ http.get(function * (id) { ensure(id).populated().numeric({ min : 0 }); var person = people[id]; person.address = this.urlFor(addressResource, { id: person.addressId }); return person; }) ] });
You can run the sample application using the following command:
node --harmony examples\web.js
##Features
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4