Skip to content

Instantly share code, notes, and snippets.

@mde
Created June 27, 2011 22:58
Show Gist options
  • Select an option

  • Save mde/1050068 to your computer and use it in GitHub Desktop.

Select an option

Save mde/1050068 to your computer and use it in GitHub Desktop.
Async JSGI
var Response = require('ringo/webapp/response').Response
, Request = require('ringo/webapp/request').Request
, defer = require('ringo/promise').defer
, jsdeps = require('../jsdeps/index')
, setTimeout = require('ringo/scheduler').setTimeout;
exports.packages = function(req) {
var response = defer()
, params
, prereqs
, excl
, tree;
Request(req);
params = req.params;
prereqs = JSON.parse(params.prereqs || '[]');
excl = JSON.parse(params.x || '[]');
tree = new jsdeps.DependencyTree(prereqs, excl);
tree.parse(function (res) {
response.resolve({
status: 200
, headers: {
'Content-Type': 'application/javascript'
}
, body: [res.code]
});
});
return response.promise;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment