2017-09-02 23:45:34 +02:00
|
|
|
var express = require('express');
|
|
|
|
var path = require('path');
|
|
|
|
var favicon = require('serve-favicon');
|
|
|
|
var logger = require('morgan');
|
|
|
|
var cookieParser = require('cookie-parser');
|
|
|
|
var bodyParser = require('body-parser');
|
|
|
|
var sassMiddleware = require('node-sass-middleware');
|
2017-11-28 16:45:37 +01:00
|
|
|
var subdomain = require('express-subdomain');
|
2017-09-02 23:45:34 +02:00
|
|
|
|
|
|
|
var index = require('./routes/index');
|
2017-11-28 16:45:37 +01:00
|
|
|
var cufs = require('./routes/cufs');
|
|
|
|
var uonetplus = require('./routes/uonetplus');
|
|
|
|
var uonetplusOpiekun = require('./routes/uonetplus-opiekun');
|
|
|
|
var uonetplusUzytkownik = require('./routes/uonetplus-uzytkownik');
|
2017-09-02 23:45:34 +02:00
|
|
|
|
|
|
|
var app = express();
|
|
|
|
|
|
|
|
// view engine setup
|
|
|
|
app.set('views', path.join(__dirname, 'views'));
|
2017-12-04 18:08:48 +01:00
|
|
|
app.set('view engine', 'pug');
|
2017-09-02 23:45:34 +02:00
|
|
|
|
|
|
|
// uncomment after placing your favicon in /public
|
|
|
|
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
|
|
|
|
app.use(logger('dev'));
|
|
|
|
app.use(bodyParser.json());
|
|
|
|
app.use(bodyParser.urlencoded({ extended: false }));
|
|
|
|
app.use(cookieParser());
|
|
|
|
app.use(sassMiddleware({
|
|
|
|
src: path.join(__dirname, 'public'),
|
|
|
|
dest: path.join(__dirname, 'public'),
|
2017-11-28 14:53:12 +01:00
|
|
|
indentedSyntax: false, // true = .sass and false = .scss
|
2017-09-02 23:45:34 +02:00
|
|
|
sourceMap: true
|
|
|
|
}));
|
|
|
|
app.use(express.static(path.join(__dirname, 'public')));
|
|
|
|
|
2017-12-04 20:58:22 +01:00
|
|
|
app.use(function (req, res, next) {
|
2017-12-10 03:22:01 +01:00
|
|
|
res.locals.uonetplusUrl = "http://" + req.get('host').replace("uonetplus-opiekun", "uonetplus");
|
2017-12-04 20:58:22 +01:00
|
|
|
res.locals.mainHost = "http://" + req.get('host')
|
|
|
|
.replace(/(cufs|uonetplus|uonetplus-opiekun|uonetplus-uzytkownik)\./, "");
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
|
2017-11-28 16:45:37 +01:00
|
|
|
app.use(subdomain('cufs', cufs));
|
|
|
|
app.use(subdomain('uonetplus', uonetplus));
|
|
|
|
app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun));
|
|
|
|
app.use(subdomain('uonetplus-uzytkownik', uonetplusUzytkownik));
|
2017-09-02 23:45:34 +02:00
|
|
|
app.use('/', index);
|
|
|
|
|
|
|
|
// catch 404 and forward to error handler
|
|
|
|
app.use(function(req, res, next) {
|
|
|
|
var err = new Error('Not Found');
|
|
|
|
err.status = 404;
|
|
|
|
next(err);
|
|
|
|
});
|
|
|
|
|
|
|
|
// error handler
|
|
|
|
app.use(function(err, req, res, next) {
|
|
|
|
// set locals, only providing error in development
|
|
|
|
res.locals.message = err.message;
|
|
|
|
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
|
|
|
|
|
|
|
// render the error page
|
|
|
|
res.status(err.status || 500);
|
|
|
|
res.render('error');
|
|
|
|
});
|
|
|
|
|
2017-12-06 21:08:28 +01:00
|
|
|
if (typeof(PhusionPassenger) !== 'undefined') {
|
|
|
|
app.listen('passenger');
|
|
|
|
}
|
|
|
|
|
2017-09-02 23:45:34 +02:00
|
|
|
module.exports = app;
|