34 lines
931 B
JavaScript
34 lines
931 B
JavaScript
const { createServer } = require("http")
|
|
const { parse } = require("url")
|
|
const next = require("next")
|
|
const { initWebSocketServer } = require("./lib/websocket")
|
|
|
|
const dev = process.env.NODE_ENV !== "production"
|
|
const hostname = "localhost"
|
|
const port = process.env.PORT || 3000
|
|
|
|
const app = next({ dev, hostname, port })
|
|
const handle = app.getRequestHandler()
|
|
|
|
app.prepare().then(() => {
|
|
const server = createServer(async (req, res) => {
|
|
try {
|
|
const parsedUrl = parse(req.url, true)
|
|
await handle(req, res, parsedUrl)
|
|
} catch (err) {
|
|
console.error("Error occurred handling", req.url, err)
|
|
res.statusCode = 500
|
|
res.end("internal server error")
|
|
}
|
|
})
|
|
|
|
// Initialize WebSocket server
|
|
initWebSocketServer(server)
|
|
|
|
server.listen(port, (err) => {
|
|
if (err) throw err
|
|
console.log(`> Ready on http://${hostname}:${port}`)
|
|
console.log("> WebSocket server initialized")
|
|
})
|
|
})
|