From 2a4b228e19c939be1872ce6d9669ae03b98c853a Mon Sep 17 00:00:00 2001 From: psychobunny Date: Sat, 12 Oct 2013 17:19:13 -0400 Subject: [PATCH] plugins - filter:server.create_routes allows you to add custom routes to NodeBB --- src/webserver.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/webserver.js b/src/webserver.js index cd02aa289b..5e7f9a1222 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -39,6 +39,8 @@ var express = require('express'), }); }); + server.app = app; + /** * `options` object requires: req, res * accepts: metaTags @@ -567,6 +569,34 @@ var express = require('express'), }); }); }); + + + var custom_routes = { + 'routes': [], + 'api_methods': [] + }; + + plugins.ready(function() { + plugins.fireHook('filter:server.create_routes', custom_routes, function(err, custom_routes) { + var routes = custom_routes.routes; + for (var route in routes) { + if (routes.hasOwnProperty(route)) { + app[routes[route].method || 'get'](routes[route].route, function(req, res) { + routes[route].options(req, res, function(options) { + app.build_header({ + req: options.req, + res: options.res + }, function (err, header) { + res.send(header + options.content + templates['footer']); + }); + }); + }); + } + } + }); + }); + + }); }(WebServer));