summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-04-14 14:17:00 -0400
committerJules Laplace <jules@okfoc.us>2016-04-14 14:17:00 -0400
commit5922279561c1998a3e158c26f951348f4c031928 (patch)
tree32954fd378a6436edd7a9c5bb24a5ed82a006411 /app
parentfa343212514f1e6f975e5cf5957e440555afb815 (diff)
support adding custom services per-project
Diffstat (limited to 'app')
-rw-r--r--app/index.js42
-rw-r--r--app/node_modules/okserver/index.js11
-rw-r--r--app/node_modules/okservices/oks3/index.js3
3 files changed, 29 insertions, 27 deletions
diff --git a/app/index.js b/app/index.js
index 1a8f97e..7fd88f4 100644
--- a/app/index.js
+++ b/app/index.js
@@ -94,19 +94,30 @@ function OKCMS(options) {
errorHandler);
// Create services
- if (serviceConfig.s3) {
- var s3Service = OKS3Service({
- express: express,
- s3: serviceConfig.s3,
- });
- }
-
- if (serviceConfig.twitter) {
- var twitterService = OKTwitterService({
- express: express,
- credentials: serviceConfig.twitter,
- })
- }
+ var services = {}
+ Object.keys(serviceConfig).forEach(function(key){
+ var config = serviceConfig[key]
+ switch (key) {
+ case 's3':
+ services.s3 = OKS3Service({
+ express: express,
+ s3: config,
+ });
+ break
+ case 'twitter':
+ services.twitter = OKTwitterService({
+ express: express,
+ credentials: config,
+ });
+ break
+ default:
+ services[key] = config.lib({
+ express: express,
+ config: config,
+ });
+ break
+ }
+ });
var server = this._server = new OKServer({
express: express,
@@ -117,10 +128,7 @@ function OKCMS(options) {
root: root,
adminRoot: adminRoot,
adminPath: adminPath,
- services: {
- s3: s3Service,
- twitter: twitterService,
- },
+ services: services,
errorHandler: errorHandler
});
}
diff --git a/app/node_modules/okserver/index.js b/app/node_modules/okserver/index.js
index 302911d..a89676f 100644
--- a/app/node_modules/okserver/index.js
+++ b/app/node_modules/okserver/index.js
@@ -52,7 +52,7 @@ function OKServer(options) {
* other middleware.
*/
- // Disable silly express header
+ // Disable x-powered-by express header
app.disable('x-powered-by')
// Serve user static files
app.use(express.static(root));
@@ -61,12 +61,9 @@ function OKServer(options) {
// Application router
app.use(router);
// Add services
- if (services.s3) {
- app.use('/_services/s3', services.s3.middleware());
- }
- if (services.twitter) {
- app.use('/_services/twitter', services.twitter.middleware())
- }
+ Object.keys(services).forEach(function(key){
+ app.use('/_services/' + key, services[key].middleware());
+ })
// Make sure this lady is last. Checks whether the desired
// route has a trailing-slash counterpart and redirects there
app.use(slash());
diff --git a/app/node_modules/okservices/oks3/index.js b/app/node_modules/okservices/oks3/index.js
index c636308..cc40b71 100644
--- a/app/node_modules/okservices/oks3/index.js
+++ b/app/node_modules/okservices/oks3/index.js
@@ -20,9 +20,6 @@ function OKS3(options) {
if (!options.s3.audio) options.s3.audio = {}
if (!options.s3.video) options.s3.video = {}
- // TODO: maxBytes property doesn't work - if you upload a large file,
- // it will just hang until you reload the browser, and then CRASH.
-
// Make sure maxbytes property is there - it can be a number,
// or zero/undefined (for no maximum upload size)
if (options.s3.maxbytes) {