mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-02 20:16:04 +01:00
plugins - filter:server.create_routes allows you to add custom routes to NodeBB
This commit is contained in:
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user