diff --git a/BuildServer/app.js b/BuildServer/app.js index e6970aa..1853aa4 100644 --- a/BuildServer/app.js +++ b/BuildServer/app.js @@ -9,6 +9,12 @@ const express = require('express'); const routes = require('./routes'); const http = require('http'); const path = require('path'); +const serveFavicon = require('serve-favicon'); +const morgan = require('morgan'); +const bodyParser = require('body-parser'); +const methodOverride = require('method-override'); +const serveStatic = require('serve-static'); +const errorhandler = require('errorhandler'); const app = express(); @@ -19,28 +25,31 @@ app.set('view engine', 'jade'); app.set('gitpath', 'M:/g'); app.set('tmpcodepath', 'M:/c'); app.set('releasepath', 'M:/r'); -app.use(express.favicon()); -app.use(express.logger('dev')); -app.use(express.json({limit: '10mb'})); -app.use(express.urlencoded()); -app.use(express.methodOverride()); -app.use(app.router); -app.use(express.static(path.join(__dirname, 'public'))); +app.use(serveFavicon(path.join(__dirname, 'public/images/favicon.png'))); +app.use(morgan('dev')); +app.use(bodyParser.json({ limit: '10mb' })); +app.use(bodyParser.urlencoded({ extended: false })); +app.use(methodOverride()); +app.use(serveStatic(path.join(__dirname, 'public'))); // development only if ('development' === app.get('env')) { - app.use(express.errorHandler()); + app.use(errorhandler()); } -app.get('/', routes.index); -app.post('/github/postreceive', routes.postreceive); -app.get('/github/postreceive', (req, res) => res.send("Only automated POST requests are allowed for postreceive route")); -app.get('/manual', routes.manual.get); -app.post('/manual', routes.manual.post); -app.get('/status/:owner/:reponame/:branch/:rev?', routes.status.page); -app.get('/pos-github.payonline.ru/*', routes.status.pageFromGithub); -app.get('/status.svg', routes.status.image); -app.get('/release/:owner/:reponame/:branch/:rev', routes.release); -app.get('/artifact/:owner/:reponame/:branch/:rev/*', routes.artifact); +app.route('/').get(routes.index); +app.route('/github/postreceive') + .post(routes.postreceive) + .get((req, res) => res.send("Only automated POST requests are allowed for postreceive route")); + +app.route('/manual') + .get(routes.manual.get) + .post(routes.manual.post); + +app.route('/status/:owner/:reponame/:branch/:rev?').get(routes.status.page); +app.route('/pos-github.payonline.ru/*').get(routes.status.pageFromGithub); +app.route('/status.svg').get(routes.status.image); +app.route('/release/:owner/:reponame/:branch/:rev').get(routes.release); +app.route('/artifact/:owner/:reponame/:branch/:rev/*').get(routes.artifact); http.createServer(app).listen(app.get('port'), () => console.log('Express server listening on port ' + app.get('port'))); diff --git a/BuildServer/package.json b/BuildServer/package.json index 0b020bf..9d29b58 100644 --- a/BuildServer/package.json +++ b/BuildServer/package.json @@ -8,16 +8,21 @@ "dependencies": { "adm-zip": "0.4.7", "async": "~2.1.4", + "body-parser": "^1.15.2", "express": "4.14.0", "fs-extra": "^1.0.0", "github": "~7.1.0", "glob": "~7.1.1", "graceful-fs": "^4.1.11", "jade": "*", + "method-override": "^2.3.7", + "morgan": "^1.7.0", "mustache": "~2.3.0", "nodegit": "~0.16.0", "nodemailer": "~2.7.0", "recursive-tree-copy": "0.0.1", + "serve-favicon": "^2.3.2", + "serve-static": "^1.11.1", "underscore": "^1.8.3" } } diff --git a/BuildServer/public/images/favicon.png b/BuildServer/public/images/favicon.png new file mode 100644 index 0000000..3d21a91 Binary files /dev/null and b/BuildServer/public/images/favicon.png differ