HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/farhangmoaser/web/bin/www
#!/usr/bin/env node

/**
 * Module dependencies.
 */

var app = require('../app');
var debug = require('debug')('google-test:server');
var http = require('http');
var redis = require('../connectors/redis');
var config = require('../config');
var startup = require('../helpers/startup');
var db = require('../connectors/'+config.read('db.engine'));

/**
 * Get port from environment and store in Express.
 */

var port = config.read('backend.port');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Connecting to databases and listen on provided port.
 * Only to check!
 */

(async ()=> {
  await db.getConnectionPromise();
  await redis.connectPromise();
	startup.start(failed => {
		if(failed) process.exit(); //TODO: shutdown gracefull!
		if(config.read('backend.host'))
			server.listen(port, config.read('backend.host'));
		else
			server.listen(port);
	});
})();

// db.getConnection(function(){
	// redis.connect(function(){
		// startup.start(function(failed){
		// 	if(failed) process.exit(); //TODO: shutdown gracefull!
		// 	if(config.read('backend.host'))
		// 		server.listen(port, config.read('backend.host'));
		// 	else
		// 		server.listen(port);
		// });
	// });
// });

server.on('error', onError);
server.on('listening', onListening);

/**
 * Event listener for HTTP server "error" event.
 */

function onError(error) {
	if (error.syscall !== 'listen') {
		throw error;
	}

	var bind = typeof port === 'string'
		? 'Pipe ' + port
		: 'Port ' + port;

	// handle specific listen errors with friendly messages
	switch (error.code) {
		case 'EACCES':
			console.error(bind + ' requires elevated privileges');
			process.exit(1);
			break;
		case 'EADDRINUSE':
			console.error(bind + ' is already in use');
			process.exit(1);
			break;
		default:
			throw error;
	}
}

/**
 * Event listener for HTTP server "listening" event.
 */

function onListening() {
	var addr = server.address();
	var bind = typeof addr === 'string'
		? 'pipe ' + addr
		: 'port ' + addr.port;
	debug('Listening on ' + bind);
	console.log('listening on ' + bind);
}