37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const appConfig = require('./config')
|
|
const spiderCall = require('./spider')
|
|
const dbPatcher = require('./dbPatcher')
|
|
const startSphinx = require('./sphinx')
|
|
|
|
const http = require('http')
|
|
const express = require('express');
|
|
const app = express();
|
|
const server = http.Server(app);
|
|
const io = require('socket.io')(server);
|
|
const fs = require('fs');
|
|
const path = require('path')
|
|
|
|
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
|
|
server.listen(appConfig.httpPort);
|
|
console.log('Listening web server on', appConfig.httpPort, 'port')
|
|
|
|
app.use(express.static('web'));
|
|
|
|
const socketMessages = {}
|
|
|
|
io.on('connection', (socket) =>
|
|
{
|
|
for(const message in socketMessages)
|
|
{
|
|
socket.on(message, socketMessages[message])
|
|
}
|
|
})
|
|
|
|
sphinx = startSphinx(() => {
|
|
dbPatcher(() => {
|
|
spider = spiderCall((...data) => io.sockets.emit(...data), (message, callback) => {
|
|
socketMessages[message] = callback
|
|
}, path.resolve(packageJson.serverDataDirectory), packageJson.version, 'production')
|
|
}, null, sphinx)
|
|
}, path.resolve(packageJson.serverDataDirectory), () => {}) |