.then(function (res) {
    log.fine('init() :: All express instances initialized, moving on with main');
    // body...
    var appApi = res[1];
    var appWebserver = res[0];

    // Discover proper port, Heroku exports it in an env
    var port;
    if (globals.isHeroku) {
      port = process.env.PORT;
    } else {
      port = config.webserver.port;
    }

    // Setup express
    this.app.set('port', port);
    // remove x-powered-by header
    this.app.set('x-powered-by', false);

    // Require Basic auth if on heroku
    // if (globals.isHeroku) {
    //   this.app.use(authMidd.basicAuth);
    // }

    this.app.use(cookieParser());
    this.app.use(bodyParser.urlencoded({extended: false}));
    this.app.use(bodyParser.json());
    this.app.use(bodyParser.urlencoded({extended: true}));

    // Init websockets
    socketServer.init(webserver.http);
    // listen for websocket connections
    socketServer.listen(globals.WebsocketNamespace.WEBSITE);

    if (config.usevhosts) {
      socketServer.listen(globals.WebsocketNamespace.API);
      this.app.use(vhost(config.hostname.city, appApi));
      // SKIN it for now..
      this.app.use(vhost('www.thesact.gr', appApi));
      this.app.use(vhost('ath.weareroots.org', appApi));
      this.app.use(vhost('ath.thesact.gr', appApi));
    }

    // ultimate fallback if no vhost triggers, use main web app
    this.app.use(appWebserver);

    // development only
    if (globals.isDev) {
      this.app.use(errorhandler());
    }

    return webserver.start(this.app);
  });
Exemple #2
0
  .listen(3033, (req, res) => {
    // app.use((req,res,next) => { console.log(req.headers.host);next()});
    app.use((req, res, next) => {
      res.header('Access-Control-Allow-Origin', '*');
      res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
      next();
    });
    app.use(vhost('pinger_d.wrioos.com', pingerService));
    app.use(vhost('core_d.wrioos.com', coreService));
    app.use(vhost('webgold_d.wrioos.com', webgoldService));
    app.use('/', proxy('127.0.0.1:3034')); // proxy everything to devserver

    setupDevServer();
    console.log('Application Started!');
  });
Exemple #3
0
function createVirtualHost(domainName, dirPath) {
	var newhost = express();
	
	//parses request body and populates request.body
	newhost.use( bodyParser.urlencoded({ extended: true }) );
	
	//checks request.body for HTTP method overrides
	//newhost.use( methodOverride() );
	
	//Where to serve static content
	/*
	newhost.use(
		express.static(__dirname + dirPath)
	);
	*/
	//TODO expose serveStatic's options
	newhost.use( serveStatic( dirPath, {"extensions": ['html', 'png', 'jpg', 'txt', 'json']}) );
	
	//var serve = serveStatic('public/ftp', {'index': ['index.html', 'index.htm']})
	
	//Show errors
	newhost.use( errorhandler({ dumpExceptions: true, showStack: true }));
	
	//Generate sitemap
	//Requires the python2 library 'Beautiful Soup 4'
	//
	//var process = spawn('python',["bdt_sitemap.py", domainName + " " + dirPath]);
	
	return vhost(domainName, newhost)
}
    createStatic: function(domainName, middleware) {
        var staticPath = sites + middleware + '/public';

        console.log('Created vHost for domainName: %s using static path: %s.', domainName, staticPath);

        return vhost(domainName, express.static(staticPath));
    }
Exemple #5
0
    .then(({ proxyApp }) => {
      newApp.proxyApp = proxyApp;
      newApp.vhost = vhost(newApp.host, newApp.proxyApp);
      mainProxy.use(newApp.vhost);

      return addHost(newApp);
    })
Exemple #6
0
module.exports = () => {
  const router = Router()

  router.get('/', getPublicPage)
  router.all('*', allPageNotFound)
  return vhost(config.fqdn, router)
}
    createRoutes: function(domainName, middleware) {
        var routes = require(sites + middleware + ROUTES_PATH);

        if (routes && typeof routes === 'function') { 
            console.log('Created vHost for domainName: %s using middleware: %s.', domainName, middleware);

            return vhost(domainName, routes);
        }
    },
  .listen(3033, (req, res) => {
    //app.use((req,res,next) => { console.log(req.headers.host);next()});
    app.use(function(req, res, next) {
      res.header("Access-Control-Allow-Origin", "*");
      res.header(
        "Access-Control-Allow-Headers",
        "Origin, X-Requested-With, Content-Type, Accept"
      );
      next();
    });
    app.use(vhost("titter_d.wrioos.com", titterService));
    app.use(vhost("core_d.wrioos.com", coreService));
    app.use(vhost("webgold_d.wrioos.com", webgoldService));
    app.use("/", proxy("127.0.0.1:3034")); // proxy everything to devserver

    setupDevServer();
    console.log("Application Started!");
  });
Exemple #9
0
function startHost( host, app, certContext ) {
  console.log("added host " + host);
  exp.use(vhost(host, app));

  if (certContext) {
    // if we have a credential context, add it to our hashmap
    console.log("added certificates for " + host);
    sites[host] = certContext;
  }
}
Exemple #10
0
function mountHost(M, s, dir) {
	U.log('dir = ', path.join(dir, 'package.json'));
	var S = skeleton(M, s, dir)
		, hosts = require( path.join(dir, 'package.json') ).config.hosts[S.get('env')]
	;
	U.log('mounting host');
	for (var subhost in hosts ) {
		M.use( vhost(hosts[subhost], S) );
		U.log('vhosts started for subhost ' + hosts[subhost]);
	}
}
module.exports = function (app, config) {
    'use strict';

    // define virtual host (http://www.nodeigniterjs.loc:3000)
    if (config.env.server.virtualHost) {
        app.use(vhost(config.env.server.domain, app));
        console.log('Virtual host activated. ' + config.env.server.domain + ':' + config.env.server.port);
    } else {
        console.log('Virtual host deactivated. ' + '127.0.0.1:' + config.env.server.port);
    }
};
Exemple #12
0
  .then(function (res) {
    log.fine('init() :: All express instances initialized, moving on with main');
    // body...
    var appApi = res[1];
    var appWebserver = res[0];

    // Discover proper port, Heroku exports it in an env
    var port;
    if (globals.isHeroku) {
      port = process.env.PORT;
    } else {
      port = config.webserver.port;
    }

    // Setup express
    this.app.set('port', port);
    // remove x-powered-by header
    this.app.set('x-powered-by', false);

    this.app.use(cookieParser());
    this.app.use(bodyParser.json());

    // Init websockets
    socketServer.init(webserver.http);
    // listen for websocket connections
    socketServer.listen(globals.WebsocketNamespace.WEBSITE);

    if (config.usevhosts) {
      socketServer.listen(globals.WebsocketNamespace.API);
      this.app.use(vhost(config.hostname.city, appApi));
    }

    this.app.use(vhost(config.hostname.website, appWebserver));

    // development only
    if (globals.isDev) {
      this.app.use(errorhandler());
    }

    return webserver.start(this.app);
  });
Exemple #13
0
function setupRoute (domain, config) {
  try {
    checkConfig(config, domain)
    config.s3bucket = config.s3bucket || DEFAULT_S3_BUCKET
    router.use(vhost(domain, function (req, res, next) {
      extend(req.params, config)
      formStores[config.formStore](req, res, next)
    }))
  } catch (e) {
    console.error(e.message)
  }
}
module.exports = function (hostname, server) {
    if (typeof hostname === 'string') {
        // back-compat
        hostname = new RegExp('^' + hostname.replace(/[^*\w]/g, '\\$&').replace(/[*]/g, '(?:.*?)') + '$', 'i');
    }

    if (typeof server !== 'function' && typeof server.emit === 'function') {
        // back-compat
        server = createEmitRequest(server);
    }

    return vhost(hostname, server);
};
/**
 * Get web server.
 */
function getWebServer( ){

    var d = ft.CONST.PATH_DELIMITER;
    var cfg = yaml.load( ft.getRootPath( ) + d + 'config.yaml' );
    var srvCfg = cfg;

    regExpsMap = ft.getSubstitutionsMap( cfg, '', regExpsMap );

    var webServer = express( )

        .use( vhost( srvCfg.SERVER.SERVER_APP + '.' + srvCfg.SERVER.SERVER_DOMAIN, getAppServer( ) ) )
        .use( vhost( srvCfg.SERVER.SERVER_TST + '.' + srvCfg.SERVER.SERVER_DOMAIN, getTstServer( ) ) )
        .use( vhost( srvCfg.SERVER.SERVER_DEV + '.' + srvCfg.SERVER.SERVER_DOMAIN, getDevServer( ) ) )
        .use( vhost( srvCfg.SERVER.SERVER_DOC + '.' + srvCfg.SERVER.SERVER_DOMAIN, getDocServer( ) ) )
        .use( vhost( srvCfg.SERVER.SERVER_UT  + '.' + srvCfg.SERVER.SERVER_DOMAIN, getUtServer( ) ) )
        .use( ft.getRootPath( ), function( req, res, nxt ){

            res.redirect( req.originalUrl.replace( ft.getRootPath( ), '' ) );
        } )
        .use( express.static( ft.getRootPath( ) ), function( ){ } );

    return webServer;
}
/**
 * Sets up WebID-related functionality (account creation and authentication)
 *
 * @param argv {Object}
 * @param app {Function}
 * @param ldp {LDP}
 */
function initWebId (argv, app, ldp) {
  config.ensureWelcomePage(argv)

  // Store the user's session key in a cookie
  // (for same-domain browsing by people only)
  const useSecureCookies = !!argv.sslKey // use secure cookies when over HTTPS
  const sessionHandler = session(sessionSettings(useSecureCookies, argv.host))
  app.use((req, res, next) => {
    sessionHandler(req, res, () => {
      // Reject cookies from third-party applications.
      // Otherwise, when a user is logged in to their Solid server,
      // any third-party application could perform authenticated requests
      // without permission by including the credentials set by the Solid server.
      const origin = req.headers.origin
      const userId = req.session.userId
      if (!argv.host.allowsSessionFor(userId, origin)) {
        debug(`Rejecting session for ${userId} from ${origin}`)
        // Destroy session data
        delete req.session.userId
        // Ensure this modified session is not saved
        req.session.save = (done) => done()
      }
      next()
    })
  })

  let accountManager = AccountManager.from({
    authMethod: argv.auth,
    emailService: app.locals.emailService,
    tokenService: app.locals.tokenService,
    host: argv.host,
    accountTemplatePath: argv.templates.account,
    store: ldp,
    multiuser: argv.multiuser
  })
  app.locals.accountManager = accountManager

  // Account Management API (create account, new cert)
  app.use('/', API.accounts.middleware(accountManager))

  // Set up authentication-related API endpoints and app.locals
  initAuthentication(app, argv)

  if (argv.multiuser) {
    app.use(vhost('*', LdpMiddleware(corsSettings)))
  }
}
Exemple #17
0
function httpServer(domain, port, path)
{
    fs.stat(path, function(err, stats) {
        if(err || !stats.isDirectory()) {
            throw new Error('Directory ' + path + ' does not exist or is not readable');
        }
    });
    var app = connect();
    
    app.use(serveStatic(path));
    app.use(function(req, res) {
        res.statusCode = 404;
        res.end();
    });
    app.use(vhost(domain, app));

    http.createServer(app).listen(port);
}
Exemple #18
0
task('server', () => {
  let server;
  const app = express();

  app.use(vhost(hostname, startServer()));
  app.use(compression());

  server = createServer(app);

  server.on('error', (err) => {
    if (err.code === 'EADDRINUSE') {
      log(`Proxy server is already started at port: ${proxyPort}`);
    } else {
      throw err;
    }
  });

  server.listen(proxyPort);
});
Exemple #19
0
/*
	- vHost: Domain Server -
	
	joshkirklin.com
*/

var express = require('express');
var vhost = require('vhost');
var logger = require('morgan');

var app = express();

app.use(logger('dev'));

app.use(vhost('code.joshkirklin.com', require('./hosts/code')));
app.use(vhost('games.joshkirklin.com', require('./hosts/games')));
app.use(vhost('*.joshkirklin.com', require('./hosts/www')));
app.use(vhost('joshkirklin.com', require('./hosts/www')));



/// catch 404 and forwarding to error handler
app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
});



/// error handlers
home.set('jsonp callback', true);
/* Testing headers */
home.use(function (req, res, next) {
    // Website you wish to allow to connect
    // res.header('Access-Control-Allow-Origin', '*');
    // res.header("Access-Control-Allow-Headers", "X-Requested-With");

    // Request methods you wish to allow
    //res.setHeader('Access-Control-Allow-Methods', 'GET');

    // Pass to next layer of middleware
    next();
});

var hostname = 'localhost'; // Change this to your host name.
app.use(vhost(hostname, home));

home.get('/', function(req, res) {
    //req.header('Access-Control-Allow-Origin', '*');
    res.sendfile(__dirname + '/app/index.html');

    req.io.route('home');
})

/* Outputs the users' ips visiting your website*/
app.io.route('home', function (req) {
    console.log(req.ip);
});

/* Debug */
console.log(__dirname);
Exemple #21
0
/* global global, __dirname */
var express = require('express'),
        app = express(),
        useragent = require('express-useragent'),
        compression = require('compression'),
        vhost = require('vhost');

global.$ = require('./_liv');
global.cfg = require('./cfg/node_cfg.json');

app.use(vhost(global.cfg.url, require('./node_servidor')));
app.disable('x-powered-by');
app.use(compression());
app.use(useragent.express());
app.listen(global.cfg.porta);
Exemple #22
0
// site app - maps subdomains to site folders
var siteApp = express();
siteApp.use((req, res) => {
    const siteCode = req.vhost[0];
    req.originalUrl = req.url;
    let extension = '';
    if (!req.url.endsWith('.html')) {
        extension = '.html';
    }
    res.sendFile(__dirname + '/siteContent/' + siteCode + req.url + extension);
});

// Vhost app
var app = module.exports = express();

app.use(vhost(config.hostname, main)); // Serves top level domain via Main server app
app.use(vhost(`*.${config.hostname}`, siteApp)); // Serves all subdomains via siteApp

// the following is now handled in www/bin
// // module.parent check is required to support mocha watch
// // src: https://github.com/mochajs/mocha/issues/1912
// if (!module.parent) {
//     // listen on port config.port
//     app.listen(config.port, () => {
//         console.log(`kazuku server started on port ${config.port} (${config.env})`); // eslint-disable-line no-console
//     });
// }
//
//module.exports = app;
module.exports = app;
Exemple #23
0
		},
		pass: {
			form_pass: "",
			cook_pass: ""
		}
	}; //app 级全局变量
app.locals = locals;
app.use(bodyParser.urlencoded({
	extended: true
})); // for parsing application/x-www-form-urlencoded
app.use(bodyParser.json()); // for parsing application/json
//app.use(multer()); // for parsing multipart/form-data
var host = locals.hosts;
//遍历各个子域名的启动文件
for (var key in host) {
	var name = host[key],
		path = './server/' + key;

	domain = require(path).app;
	//记录模板应用级变量
	domain.locals = locals;
	app.use(vhost(name, domain));
	if (process.env.PORT != "80") {
		host[key] += ":" + process.env.PORT
	}
}
if (locals.env.isDev) {
	app.use(logger('dev'));
}
app.listen(locals.env.port);
module.exports = app;
Exemple #24
0
var _           = require('lodash-node');
var conf        = require('./conf');
var connect     = require('connect');
var Cookies     = require('cookies');
var vhost       = require('vhost');

var app = connect();
var acom = connect();
var bcom = connect();
var sso = connect();

app
  .use(vhost('a.com', acom))
  .use(vhost('b.com', bcom))
  .use(vhost('sso.com', sso));

var routeHandler = function(name, req, res){
  var cookies = new Cookies(req, res);
  cookies.set('token_'+name, name);
  cookies.set('token_'+name+'_domain', name+'_domain', { domain: name+'.com' });
  res.write('<html>');
  res.write('iframe: <iframe id="ssoIframe" src="http://sso.com:1337" width="300" height="100"></iframe><br>');
  res.write('user action: <a href=\'javascript:sso=window.open("http://sso.com:1337", "sso", "width=300, height=100, menubar=0, status=0, titlebar=0, toolbar=0, location=0");setTimeout(function(){sso.close();document.getElementById("ssoIframe").src="http://sso.com:1337";},500)\'>login</a><br>');
  res.write('host: ' + req.headers.host + '<br>');
  res.write('token_'+name+': ' + cookies.get('token_'+name) + '<br>');
  res.write('token_'+name+'_domain: ' + cookies.get('token_'+name+'_domain') + '<br>');
  res.write('</html>');
  res.end('\n');
};

acom.use(_.partial(routeHandler, 'a'));
Exemple #25
0
var express = require('express'); 
var app = express(); 
var vhost = require('vhost');
var cornellarchives = require('./cornellarchives.com/app.js').app,
	legitly = require('./legitly.co/app.js').app;
 
app.use(vhost('cornellarchives.com', cornellarchives));
app.use(vhost('legitly.co', legitly));

app.listen(3030); 
Exemple #26
0
    };
    
    // send mail with defined transport object
    mailTransporter.sendMail(mailOptions, function(error, info){
        if(error){
            return console.log(error);
        }
        console.log('Message sent: ' + info.response);
        res.send('Message sent: ' + info.response);
    });
});

// create "admin" subdomain...this should appear
// before all your other routes
var admin       =   express.Router();
app.use(vhost('admin.*', admin));
// create admin routes; these can be defined anywhere
admin.get('/', function(req, res){
    res.render('admin/home');
});


// add routes
require('./routes.js')(app);

// api
var Attraction  =   require('./models/attraction.js');

var rest        =   require('connect-rest');

rest.get('/attractions', function(req, content, cb){
Exemple #27
0
module.exports = function(config) {
	


	
	var app = express();
	
	// Подключение нескольких тестовых статичных сайтов или поддоменов.
	var apps = {
		beta: express(),
		m: express(),
		mail: express(),
		player: express()
	};
	for (var key in apps) {
		apps[key].use(express.static(__dirname + '/subdomains/' + key));
		app.use(vhost(key + '.gdetus.io', apps[key]));
		app.use(`/subdomain/${key}`, apps[key]); // для тестирования субдомена на сервере разработки
	}
	
	
	// Сохраняем наш конфиг файл в приложении экспресса app
	app.locals.config = config;
	var databaseConfig = app.locals.config.database;
	
	app.disable('x-powered-by');
	
	// - - - - - - - - - - - - - - - - - - - - -
	// блок базовых настроек // 
	// - - - - - - - - - - - - - - - - - - - - -
	app.set('views', path.join(__dirname,'views'));
	app.set('view engine','ejs');
	
	// определение моделей пользователя из архитектуры mvc
	var models = require("./models");
	app.set('models', models);
	
	
	app.use(cookieParser());
	app.use(bodyParser.urlencoded({ extended: true }));
	
	
	
	// Редирект на https
	app.use(function(req, res, next) {
		if (app.locals.config.https && req.protocol === "http") {
			res.redirect(`https://${req.hostname}${req.originalUrl}`);
		} else {
			next();
		}
	});
	
	
	
	
	app.use(expressValidator({
		customValidators: require("./models/validators")
	}));
	
	
	
	// подключаем методы инициализации пользователя и его сессии
	app.use(passport.initialize());
	app.use(passport.session());
	app.use(passport.authenticate('remember-me'));
	
	
	app.use(require("./middlewares/session"));
	
	
	// - - - - - - - - - - - - - - -//
	// конец блока базовых настроек //
	// - - - - - - - - - - - - - - -//
	
	
	//блок подключения статики и файлов
	app.use(express.static(__dirname + '/static'));
	app.use("/blueimp-file-upload", express.static(path.dirname(require.resolve("blueimp-file-upload/package.json"))));
	
	//блок подключения ресурсов (rest)API
	var api = express();
	api.resource('user-locations', require('./api/userLocations'));
	api.resource('current-location', require('./api/currentLocation'));
	api.resource('profile-avatar', require('./api/profileAvatar'));
	app.use("/api", api);
	
	
	//блок подключения основных контроллеров
	app.get('/file/:id', require("./controllers/file"));
	app.get('/im', require("./controllers/im"));
	app.get('/map', require("./controllers/map"));
	app.get('/digits', require("./controllers/digits"));
	app.use('/edit', require("./controllers/edit"));
	app.get('/lock', require("./controllers/lock"));
	app.get('/feed', require("./controllers/feed"));
	app.get('/payment', require("./controllers/payment"));
	app.get('/invoice', require("./controllers/invoice"));
	app.get('/settings', require("./controllers/settings"));
	app.get('/logout', require("./controllers/logout"));
	app.get('/profile', require("./controllers/profile"));
	app.get('/timeline', require("./controllers/timeline"));
	app.get('/achievements', require("./controllers/achievements"));
	app.post('/registration', require("./controllers/registration"));
	app.post('/passrestore', require("./controllers/passrestore"));
	app.post('/login', require("./controllers/login"), function(req, res, next) {
		// Issue a remember me cookie if the option was checked
		if (req.body.rememberme !== "true") return next();
		var token = models.tokensRememberMe.generateToken();
		models.tokensRememberMe.save(token, req.user.id).then(function() {
			res.cookie('remember_me', token, { path: '/', httpOnly: true, maxAge: 604800000 }); // 7 days
			next();
		}).catch(function(err) {
			next(err);
		});
	}, function(req, res, next) {
		res.send({
			success: true,
			user: req.user
		});
	});
	
	//блок подключения завершающих контроллеров
	app.get('/:useruri', require("./controllers/useruri"));
	app.get('/', require("./controllers/index"));
	
	
	//контроллеры обработки ошибок
	app.use(require("./controllers/404"));
	app.use(require("./controllers/500"));
	
	return app;

};
Exemple #28
0
/* ROUTE subdomain to any of the files located in apps folder */
var connect = require('connect');
var vhost = require('vhost');

var app = connect();


// use OS variables to find where the apps are located

// app.use(vhost('gba.atcore.co', require(process.env.GBA_APP).app));
// app.use(vhost('chat.atcore.co', require(process.env.CHAT_APP).app));
// app.use(vhost('atcore.co', require(process.env.CHAT_APP).app));

// both gba and chat must be express application
// for now this is hardcoded but consider change it to OS variables
gba = require('/server/gba/server');
chat = require('/server/chatastrofic/app');

app.use(vhost('gba.atcore.co', gba));
app.use(vhost('chat.atcore.co', chat));

app.use(vhost('atcore.co', chat));

var port = process.env.PORT || 3000;
app.listen(port, function(){
  console.log("Server started on port " + port);
})
Exemple #29
0
function createVirtualHost(domainName,dirPath){
	var vHost = require(dirPath);
	return vhost(domainName,vHost);
}
        if (crit)
            crit = JSON.parse(decodeURIComponent(crit))
        hub.requestMaster('filter', crit, result => res.send(result))
    })


    //CATCH ALL... this will also redirect old image reqs to a page though...
    app.get('/*', (req, res) => {
        //i could test the mime type of the path?
        res.redirect("/#/search")
    })

    var vhost = require('vhost')
    var nspike = require('./nuclearspike_com')

    main.use(vhost('www.nuclearspike.com', nspike)) //use regex instead.
    main.use(vhost('nuclearspike.com', nspike))
    main.use(vhost('nuclearspike.local', nspike)) //serveStatic(__dirname + '/nuclearspike_com/public', {maxAge: '1d'}))

    main.use(vhost('localhost', app))
    main.use(vhost('kivalens.org', app))
    main.use(vhost('www.kivalens.org', app))


    main.listen(main.get('port'), function() {
        console.log('KivaLens Server is running on port', main.get('port'))
    })

    /** JSON Parser, custom deserialization COOL!
    const bufferParse = (key, value) => {
        return value && value.type === 'Buffer'