mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
const fs = require('fs');
|
|
const settings = JSON.parse(fs.readFileSync('settings.json', 'utf8'));
|
|
const key = fs.readFileSync(settings.key, 'utf8');
|
|
|
|
var server;
|
|
if(settings.https.enabled) {
|
|
const options = {
|
|
key: fs.readFileSync(settings.https.key),
|
|
cert: fs.readFileSync(settings.https.cert)
|
|
};
|
|
|
|
server = require('https').createServer();
|
|
} else {
|
|
server = require('http').createServer();
|
|
}
|
|
|
|
const servertalk = require('./network/servertalk_api.js');
|
|
const websocket_iterface = require('./ws/ws_interface.js');
|
|
const express = require('express');
|
|
const app = express();
|
|
const bodyParser = require('body-parser');
|
|
const uuid = require('node-uuid');
|
|
const jwt = require('jsonwebtoken');
|
|
var mysql = require('mysql').createPool(settings.db);
|
|
|
|
var api = new servertalk.api();
|
|
var wsi = new websocket_iterface.wsi(server, key, api);
|
|
api.Init(settings.servertalk.addr, settings.servertalk.port, false, settings.servertalk.key);
|
|
|
|
app.use(bodyParser.json());
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
|
|
app.use(function(req, res, next) {
|
|
res.header("Access-Control-Allow-Origin", "*");
|
|
res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
|
|
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
|
|
next();
|
|
});
|
|
|
|
//make sure all routes can see our injected dependencies
|
|
app.use(function (req, res, next) {
|
|
req.servertalk = api;
|
|
req.mysql = mysql;
|
|
req.key = key;
|
|
next();
|
|
});
|
|
|
|
app.get('/', function (req, res) {
|
|
res.send({ status: "online" });
|
|
});
|
|
|
|
require('./http').Register(app, api);
|
|
require('./ws').Register(wsi, api);
|
|
|
|
server.on('request', app);
|
|
server.listen(settings.port, function () { console.log('Listening on ' + server.address().port) });
|