From 15d13dc7d2c4bbe0943a6972e5c102277637e855 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Wed, 11 Mar 2015 16:04:55 +0100 Subject: [PATCH] narrow the served static resources --- server/sonar-web/src/test/server-coverage.js | 40 ++++++++++++++++---- server/sonar-web/src/test/server.js | 17 +++++---- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/server/sonar-web/src/test/server-coverage.js b/server/sonar-web/src/test/server-coverage.js index 526e1071c79..f6fdc13f601 100644 --- a/server/sonar-web/src/test/server-coverage.js +++ b/server/sonar-web/src/test/server-coverage.js @@ -1,23 +1,42 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ var express = require('express'), path = require('path'), - errorhandler = require('errorhandler'), - serveStatic = require('serve-static'), + im = require('istanbul-middleware'), url = require('url'), JS_RE = /\.js$/, THIRD_PARTY_RE = /\/third-party\//, TEMPLATES_RE = /\/templates\//; -var staticPath = path.join(__dirname, '../main/webapp'); -im.hookLoader(staticPath); - var app = express(); + +// Views app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); -app.use(errorhandler({ dumpExceptions: true, showStack: true })); +// Coverage +var staticPath = path.join(__dirname, '../main/webapp'); +im.hookLoader(staticPath); app.use(im.createClientHandler(staticPath, { matcher: function (req) { var parsed = url.parse(req.url); @@ -27,12 +46,19 @@ app.use(im.createClientHandler(staticPath, { } })); app.use('/coverage', im.createHandler()); -app.use('/', serveStatic(staticPath)); + +// Static +app.use('/js', express.static(path.join(staticPath, 'js'))); +app.use('/css', express.static(path.join(staticPath, 'css'))); + + +// Pages app.get('/pages/:page', function (req, res) { res.render(req.param('page')); }); + // Get the port from environment variables var port = process.env.PORT || 8000; diff --git a/server/sonar-web/src/test/server.js b/server/sonar-web/src/test/server.js index fc0caa73758..09dad0960ac 100644 --- a/server/sonar-web/src/test/server.js +++ b/server/sonar-web/src/test/server.js @@ -18,25 +18,28 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ var express = require('express'), - path = require('path'), - errorhandler = require('errorhandler'), - serveStatic = require('serve-static'); - -var staticPath = path.join(__dirname, '../main/webapp'); + path = require('path'); var app = express(); + +// Views app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); -app.use(errorhandler({ dumpExceptions: true, showStack: true })); -app.use('/', serveStatic(staticPath)); +// Static +var staticPath = path.join(__dirname, '../main/webapp'); +app.use('/js', express.static(path.join(staticPath, 'js'))); +app.use('/css', express.static(path.join(staticPath, 'css'))); + +// Pages app.get('/pages/:page', function (req, res) { res.render(req.param('page')); }); + // Get the port from environment variables var port = process.env.PORT || 8000; -- 2.39.5