12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /** Initialization Libs/Databases **/
- // Load Library of node
- const http = require('http');
- // Load Core & Variables
- global.ROOTPATH = __dirname;
- require('./config.js');
- require('./database.js');
- //Init Mongo Database & start server
- require('mongodb').MongoClient.connect(MongoURL,function(err,db){
- if(err) {
- Logger.error('MongoDB connect error!',true);
- Logger.error('Server start failed. Log has been saved!');
- Logger.out(err);
- return;
- }
- global.MongoDB = db;
- // global.tracerDB = db.collection('usertracer');
- global.CountDB = db.collection('count');
- global.LinkDB = db.collection('link');
- global.UserDB = db.collection('user');
-
- //Start Services
- Init();
- });
- /** Init Web & API Server **/
- function Init(){
- // CountDB.update({},{$inc:{link:1}},{upsert:true});
- CountDB.findOne({},function(err,data){
- if(data && data['link']){
- COUNT.link = Number(data['link']);
- }else{
- COUNT.link = COUNT.LinkDefault;
- CountDB.update({},{$set:{link:COUNT.link}},{upsert:true});
- }
- require('http').createServer(WebServer).listen(3230);
- require('http').createServer(APIServer).listen(3231);
- Logger.info('MongoDB connected!',true);
- Logger.info('Web Server Start at port:['+3230+']',true);
- Logger.info('API Server Start at port:['+3231+']',true);
- Logger.log('\n------------------[Count]------------------\nLink:['+(COUNT.link-COUNT.LinkDefault)+']\tUser:['+COUNT.user+']\n-------------------------------------------',true);
- });
- }
- //Web Server
- function WebServer(req,res){
- var COOKIE = {};
- req.headers.cookie && req.headers.cookie.split(';').forEach(function( Cookie ) {
- var parts = Cookie.split('=');
- COOKIE[ parts[ 0 ].trim() ] = ( parts[ 1 ] || '' ).trim();
- });
- var requestFile = req.url=='/'?'/index':req.url;
- req.cookie = COOKIE;
- ROUTER.go(requestFile,res,req,COOKIE);
- }
- //API Server
- function APIServer(req,res){
- APIHandle.parse(req,res);
- }
|