s3-3on/backend/server.js

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}`);
});