60 lines
1.4 KiB
JavaScript
Executable File
60 lines
1.4 KiB
JavaScript
Executable File
const express = require('express');
|
|
require('express-async-errors');
|
|
const cookieParser = require('cookie-parser');
|
|
|
|
const db = require('./db');
|
|
|
|
const PORT = 3000;
|
|
|
|
const app = express();
|
|
|
|
// Log all possible data about request
|
|
const logRequest = (req, res, next) => {
|
|
console.log('Request URL: ' + req.url);
|
|
console.log('Request method: ' + req.method);
|
|
console.log('Request headers: ' + JSON.stringify(req.headers));
|
|
console.log('Request body: ' + JSON.stringify(req.body));
|
|
next();
|
|
};
|
|
|
|
app.use(logRequest);
|
|
|
|
// const indexRouter = require('./routes/index');
|
|
const authRouter = require('./routes/auth');
|
|
const channelRouter = require('./routes/channel');
|
|
const userRouter = require('./routes/user');
|
|
|
|
app.set('view engine', 'ejs');
|
|
app.use(express.urlencoded());
|
|
app.use(cookieParser());
|
|
|
|
app.use((req, res, next) => {
|
|
|
|
if (!req.headers.httpversion || req.headers.httpversion !== 'HTTP/3.0') {
|
|
return res.send('You need to use http3 to access this web3 website, sorry :/<br>Try to refresh the page');
|
|
}
|
|
next();
|
|
});
|
|
|
|
app.use((req, res, next) => {
|
|
if (req.cookies['session']) {
|
|
res.locals.isAuth = true;
|
|
}
|
|
next();
|
|
});
|
|
|
|
|
|
|
|
app.get('/', (req, res, next) => {
|
|
res.render('home');
|
|
});
|
|
|
|
app.use('/', authRouter);
|
|
app.use('/', channelRouter);
|
|
app.use('/', userRouter);
|
|
|
|
|
|
|
|
app.listen(PORT, () => {
|
|
console.log(`Listening on port ${PORT}`);
|
|
}); |