Skip to content

Instantly share code, notes, and snippets.

@dallonf
Created October 15, 2012 15:21
Show Gist options
  • Select an option

  • Save dallonf/3893059 to your computer and use it in GitHub Desktop.

Select an option

Save dallonf/3893059 to your computer and use it in GitHub Desktop.
Route Event resource
var Resource = require('deployd/lib/resource')
, Script = require('deployd/lib/script')
, util = require('util');
function RouteEvent() {
Resource.apply(this, arguments);
}
util.inherits(RouteEvent, Resource);
RouteEvent.label = "Route Event";
RouteEvent.events = ["get", "post"];
module.exports = RouteEvent;
RouteEvent.prototype.clientGeneration = true;
RouteEvent.prototype.handle = function (ctx, next) {
var parts = ctx.url.split('/').filter(function(p) { return p; });
var result = {};
var domain = {
url: ctx.url
, parts: parts
, query: ctx.query
, body: ctx.body
, 'this': result
, setResult: function(val) {
result = val;
}
};
if (ctx.method === "POST" && this.events.post) {
this.events.post.run(ctx, domain, function(err) {
ctx.done(err, result);
});
} else if (ctx.method === "GET" && this.events.get) {
this.events.get.run(ctx, domain, function(err) {
ctx.done(err, domain.result);
});
} else {
next();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment