otto-config
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -6,4 +6,6 @@ | ||
var logger = require('morgan'); | ||
var cookie_parser = require('cookie-parser'); | ||
var body_parser = require('body-parser'); | ||
var method_override = require('method-override'); | ||
var response_time = require('response-time'); | ||
@@ -44,5 +46,14 @@ var defaults = { | ||
if (config.views) { | ||
if (!config.views.type) { config.views.type = 'ejs'; } | ||
// Only Supporting EJS for now | ||
if (config.views.type !== 'ejs') { | ||
console.log('Only Supporting EJS for Server-Side Templates'); | ||
config.views.type = 'ejs'; | ||
} | ||
// Load Engine | ||
app.engine('.ejs', require('ejs').__express); | ||
app.set('view engine', config.views.type); | ||
app.set('views', config.views.path); | ||
} | ||
@@ -58,2 +69,24 @@ | ||
// Proxy / Load Balancer | ||
if (!config.trust_proxy) { config.trust_proxy = false; } | ||
app.set('trust proxy', config.trust_proxy); | ||
// Response Time Header | ||
if (!config.response_time) { config.response_time = false; } | ||
if (config.response_time) { | ||
app.use(response_time({ header : config.response_time })); | ||
} | ||
// Powered-By Header | ||
app.use(function (req, res, next) { | ||
if (!options.powered_by) { | ||
// Remove the Header | ||
app.disable('x-powered-by'); | ||
//res.removeHeader('x-powered-by'); | ||
} else { | ||
res.setHeader('X-Powered-By', options.powered_by); | ||
} | ||
next(); | ||
}); | ||
// Accept Method Overrides | ||
@@ -64,10 +97,25 @@ // in order to be compatible | ||
// Parse Cookie | ||
if (config.parse_cookies !== false) { | ||
app.use(cookie_parser()); | ||
} | ||
// NOTE: This only parses JSON bodies (application/json) | ||
// If you need urlencoded (x-www-form-urlencoded) | ||
// or multipart (multipart/form-data), you'll need to add them | ||
// If you need multipart (multipart/form-data), you'll need to add it | ||
// See README here: https://github.com/expressjs/body-parser | ||
// Parse POST/PUT Body | ||
app.use(body_parser.json()); | ||
// Parse Body | ||
if (config.body_json !== false) { | ||
app.use(body_parser.json()); | ||
} | ||
if (config.body_urlencoded !== false) { | ||
app.use(body_parser.urlencoded({ extended: false })); | ||
} | ||
// Ensure req.locals exists | ||
app.use(function (req, res, next) { | ||
if (!req.locals) { req.locals = {}; } | ||
next(); | ||
}); | ||
return environment.NODE_ENV; | ||
@@ -74,0 +122,0 @@ |
{ | ||
"name" : "otto-config", | ||
"version" : "0.2.0", | ||
"version" : "0.3.0", | ||
"repository" : "https://github.com/ottojs/otto-config.git", | ||
@@ -9,3 +9,6 @@ "main" : "./lib/index.js", | ||
"body-parser" : "1.13.3", | ||
"method-override" : "2.3.5" | ||
"method-override" : "2.3.5", | ||
"ejs" : "2.3.3", | ||
"cookie-parser" : "1.3.5", | ||
"response-time" : "2.3.1" | ||
}, | ||
@@ -12,0 +15,0 @@ "devDependencies" : { |
@@ -107,3 +107,4 @@ | ||
settings[key] = value; | ||
} | ||
}, | ||
engine : function () {} | ||
}, {}, {}); | ||
@@ -120,3 +121,4 @@ settings.should.not.have.property('view engine'); | ||
settings[key] = value; | ||
} | ||
}, | ||
engine : function () {} | ||
}, {}, { | ||
@@ -136,3 +138,4 @@ views : { | ||
settings[key] = value; | ||
} | ||
}, | ||
engine : function () {} | ||
}, {}, { | ||
@@ -146,3 +149,3 @@ views : { | ||
it('should use a custom engine when provided', function () { | ||
xit('should use a custom engine when provided', function () { | ||
var settings = {}; | ||
@@ -153,3 +156,4 @@ config.global({ | ||
settings[key] = value; | ||
} | ||
}, | ||
engine : function () {} | ||
}, {}, { | ||
@@ -156,0 +160,0 @@ views : { |
11815
274
6
+ Addedcookie-parser@1.3.5
+ Addedejs@2.3.3
+ Addedresponse-time@2.3.1
+ Addedcookie@0.1.3(transitive)
+ Addedcookie-parser@1.3.5(transitive)
+ Addedcookie-signature@1.0.6(transitive)
+ Addedejs@2.3.3(transitive)
+ Addedresponse-time@2.3.1(transitive)