From c596e897ffc2a7f8b24367ecdf4b84364e6ba90a Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Fri, 12 Oct 2012 08:19:13 -0400 Subject: [PATCH] round 3 --- lib/server/index.js | 9 +++------ src/server/index.coffee | 10 ++++------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/server/index.js b/lib/server/index.js index f44d7dcd3e..cf4ab4b8f1 100644 --- a/lib/server/index.js +++ b/lib/server/index.js @@ -36,12 +36,6 @@ server = http.createServer(expressApp); module.exports = server; -if (process.env.NODE_ENV === 'production' && req.headers['x-forwarded-proto'] !== 'https') { - expressApp.get('*', function(req, res, next) { - return res.redirect('https://' + req.headers.host + req.url); - }); -} - derby.use(require('racer-db-mongo')); store = derby.createStore({ @@ -66,6 +60,9 @@ publicPath = path.join(root, 'public'); habitrpgMiddleware = function(req, res, next) { var model; + if (req.headers['x-forwarded-proto'] !== 'https') { + res.redirect('https://' + req.headers.host + req.url); + } model = req.getModel(); model.set('_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header('User-Agent'))); auth.setRequest(req); diff --git a/src/server/index.coffee b/src/server/index.coffee index 3e4597cce7..11b7f5f7c6 100644 --- a/src/server/index.coffee +++ b/src/server/index.coffee @@ -23,12 +23,6 @@ expressApp = express() server = http.createServer expressApp module.exports = server -# Force SSL -# Set before other routes, as early as possible -if process.env.NODE_ENV=='production' and req.headers['x-forwarded-proto']!='https' - expressApp.get '*', (req, res, next) -> - res.redirect('https://'+req.headers.host+req.url) - derby.use(require 'racer-db-mongo') store = derby.createStore db: {type: 'Mongo', uri: process.env.NODE_DB_URI} @@ -42,6 +36,10 @@ root = path.dirname path.dirname __dirname publicPath = path.join root, 'public' habitrpgMiddleware = (req, res, next) -> + # Force SSL + if req.headers['x-forwarded-proto']!='https' + res.redirect('https://'+req.headers.host+req.url) + model = req.getModel() ## Set _mobileDevice to true or false so view can exclude portions from mobile device model.set '_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header 'User-Agent')