map["/info"] = function(request) { var req = new Jack.Request(request), res = new Jack.Response(200, { "content-type" : "text/plain" }); var params = req.params(); res.write("========================= params =========================\n"); for (var i in params) res.write(i + "=>" + params[i] + "\n") res.write("========================= env =========================\n"); for (var i in env) res.write(i + "=>" + env[i] + "\n") res.write("========================= system.env =========================\n"); for (var i in system.env) res.write(i + "=>" + system.env[i] + "\n") return res.finish(); } map["/examples"] = Jack.Directory("."); // middleware: // apply the URLMap exports.app = Jack.URLMap(map);
status: 200, headers: {'Content-Type': 'text/plain'}, body: ["Hi " + env['REMOTE_USER']] }; } var digestApp = DigestHandler.Middleware(openApp, { realm: myRealm, opaque: "this-should-be-secret", getPassword: function(username) { return {'Alice': 'correct-password'}[username]; } }); var partiallyProtectedApp = Jack.URLMap({ '/': openApp, '/protected': digestApp }); /********************************** * helpers *********************************/ var doRequest = function(request, method, path, headers) { return request[method](path, headers || {}); } var doRequestWithDigestAuth = function(request, method, path, username, password, options) { if (!options) options = {}; var headers = {};
map["/info"] = function(request) { var response = new Jack.Response(200, {"content-type" : "text/plain"}); var params = new Jack.Request(request).params(); response.write("========================= params =========================\n"); for (var i in params) response.write(i + "=>" + params[i] + "\n") response.write("========================= env =========================\n"); for (var i in request) response.write(i + "=>" + request[i] + "\n") response.write("========================= system.env =========================\n"); for (var i in system.env) response.write(i + "=>" + system.env[i] + "\n") return response.finish(); } map["/examples"] = Jack.Directory("."); // middleware: // apply the URLMap exports.app = Jack.ContentLength(Jack.URLMap(map));
// finally get the friends list client = new oauth.Client(consumer, access_token); res = client.request("http://api.twitter.com/1/statuses/friends.json"); // return the result as is for the browser out = []; res.body.forEach(function (data) {out.push(data.decodeToString());}); return { status: 200, headers: {"Content-Type": "application/json"}, body: out }; }; /** * map urls */ var map = {}; map["/"] = index; map["/get_friends"] = get_friends; map["/callback"] = callback; exports.app = jack.ContentLength(jack.URLMap(map)); // //oauth.js ends here
var request = new Jack.Request(env), response = new Jack.Response(200, { "Content-Type" : "text/plain" }); var params = request.params(); response.write("========================= params =========================\n"); for (var i in params) response.write(i + "=>" + params[i] + "\n") response.write("========================= env =========================\n"); for (var i in env) response.write(i + "=>" + env[i] + "\n") response.write("========================= system.env =========================\n"); for (var i in system.env) response.write(i + "=>" + system.env[i] + "\n") return response.finish(); } // middleware: // apply the URLMap var app = Jack.ContentLength(Jack.URLMap(map)); // serve the "/example" directory files exports.app = Jack.Static(app, { urls : ["/example"] });
} } else if (result) { return { status : 200, headers : {"Content-Type":"text/plain"}, body : [JSON.stringify(result)] }; } else { return { status : 404, headers : {"Content-Type":"text/plain"}, body : ["Not Found"] } } }; } exports.app = Jack.ContentLength( Jack.Static( Jack.Cascade([ Jack.URLMap(routes), HandleURL() ]), {"urls":["/public"]} ) );