safetwitch/server/index.ts

36 lines
847 B
TypeScript

import express, { Express, NextFunction, Request, Response } from 'express';
import dotenv from 'dotenv'
import history from 'connect-history-api-fallback'
import routes from './routes'
import { errorHandler, uuid } from './util/logger'
import { wsServer } from './routes/proxyRoute';
dotenv.config()
const app: Express = express();
const port = process.env.PORT
app.use(uuid)
app.use(routes)
app.use(history())
app.use(express.static('../frontend/dist'))
// 404 handler
app.use((req, res) => {
if (!res.headersSent) {
res.status(404).send('404')
}
});
// handle errors
app.use(errorHandler)
const server = app.listen(port, () => {
console.log('Server up')
})
server.on('upgrade', (request, socket, head) => {
wsServer.handleUpgrade(request, socket, head, socket => {
wsServer.emit('connection', socket, request);
});
});