Esempio n. 1
0
var pingraph = require('./routes/pingraph');

var cors = require('cors');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

/* 
  I commented out the express way of doing Access Control in favor of using the cors library for access control.
*/
// app.use(function(req, res, next) { 
//     res.setHeader("Access-Control-Allow-Origin", "*");
//     res.setHeader("Access-Control-Allow-Methods­","GET,PUT,POST,DELETE");
//     res.setHeader("Access-Control-Allow-Headers­", "Origin, X-Requested-With, Content-Type, Accept, Authorization, X-Auth-Token");
//     next();
// });

// cors - setting up access control on ALL routes by calling it here with app.use()
app.use(cors());
Esempio n. 2
0
var routes = require('./routes/index');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(partials());
// uncomment after placing your favicon in /public

app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser('Quiz 2015'));
app.use(session());
app.use(methodOverride('_method'));
app.use(express.static(path.join(__dirname, 'public')));


//helpers dinamicos:
app.use(function(req, res, next){

 // si no existe lo inicializa
  if (!req.session.redir) {
    req.session.redir = '/';
  }

// guardar pag en sesion.redir para despues de login
if (!req.path.match(/\/login|\/logout|\/user/)) {
Esempio n. 3
0
var usesession = require('./routes/usesession');
var usecookies = require('./routes/usecookies');
var usecrypto = require('./routes/usecrypto');
//var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(favicon());
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

//传一个秘钥用于加密 session id
app.use(cookieParser('rock'));

//使用就靠这个中间件了
app.use(session({secret:'rock'}));


app.use('/', routes);
app.use('/subform',subform);
app.use('/usesession',usesession);
app.use('/usecookies',usecookies);
app.use('/usecrypto',usecrypto);
//app.use('/users', users);
Esempio n. 4
0
const leardersRouter = require('./routes/leaderRouter'); //leaders router module


var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use('/dishes', dishRouter);
app.use('/promotions', promoRouter);
app.use('/leaders',leardersRouter);

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser('12345-67890-09876-54821'));
app.use(express.static(path.join(__dirname, 'public')));

app.use(require('express-session')({ secret: 'meenachibala', resave: true, saveUninitialized: true ,}));

function auth (req, res, next) {
    console.log(req.user);

    if (!req.user) {
      var err = new Error('You are not authenticated!');
      res.setHeader('WWW-Authenticate', 'Basic');                          
      err.status = 401;
      next(err);
    }
    else {
          next();
Esempio n. 5
0
function listen(port, callback){
    callback = callback || function(){};

    /**
     * Express/Session/Store Section
     * Add express related requires here
     * @type {*|http.Server}
     */
    var url = require('url');
    var express = require('express');
    var app = new express();
    var bodyParser  = require('body-parser');
    var cookieParser  = require('cookie-parser');
    var session = require('express-session');
    var RedisStore = require('connect-redis')(session);
    var rootFolder = __dirname + '/' + ((_Config.site.rootFolder) || 'public');
    var redisPassword = ((_Config.redis.password) || null);
    var restPolicy = require("./policy/rest");

    /*********************
     * Routes/Views Start
     *********************/

    app.engine('html', require('ejs').renderFile);
    app.set('view engine', 'ejs');
    app.set('views', rootFolder);
    app.get('/', function(req, res) {
        res.render('index.html', {title: _Config.Application.name});
    });
    app.get('/*', function(req, res, next){
        res.setHeader('Last-Modified', (new Date()).toUTCString());
        next();
    });
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(bodyParser.json());
    app.use(cookieParser());
    app.use(express.static(rootFolder));
    app.use(app.router);
    app.use(session({
        store: new RedisStore({
            host: 'localhost',
            port: ((_Config.redis && _Config.redis.portNumber) || 6379),
            db: 2,
            pass: redisPassword
        }),
        secret: '1234567890QWERTY'
    }));

    app.use(restPolicy);

    var routes = require('./config/routes');
    routes.register(app);

    /*********************
     * Routes/Views End
     *********************/

    // Here you might use middleware, attach routes, etc.
    var http = require('http').Server(app);

    /**
     * Socket IO Section
     * Add socket io related requires here
     * @type {*|http.Server}
     */
    // Don't expose our internal server to the outside. '0.0.0.0' is for nitrous io servers
    var server = app.listen(port, '0.0.0.0'),
        sio = require('socket.io'),
        sio_redis = require('socket.io-redis'),
        io = sio(server),
        sockets = require('./service/socket'),
        socketPolicy = require('./policy/socket');
        io.use(socketPolicy);

    // Tell Socket.IO to use the redis adapter. By default, the redis
    // server is assumed to be on localhost:6379. You don't have to
    // specify them explicitly unless you want to change them.
    io.adapter(sio_redis({ host: 'localhost', port: ((_Config.redis && _Config.redis.portNumber) || 6379) }));

    http.listen(0, function(){
        if(_server && _Config.Application.showLogo) {
            log.info("                          ");
            log.info("         --------------   ");
            log.info("        |              |  ");
            log.info("        |              |  ");
            log.info("        |  CordovaBox  |  ");
            log.info("        |     .io      |  ");
            log.info("        |              |  ");
            log.info("        |              |  ");
            log.info("         --------------   ");
            log.info("                          ");
            log.info("                          ");
        }
        callback(port);
    });

    sockets.listen(io, {
        app: app
    });

    _server = server;
    return server;

}
Esempio n. 6
0
module.exports = function initExpressSession () {

	if (this.expressSession) return this;

	var sessionStorePromise;

	// Initialise and validate session options
	if (!this.get('cookie secret')) {
		console.error('\nKeystoneJS Configuration Error:\n\nPlease provide a `cookie secret` value for session encryption.\n');
		process.exit(1);
	}
	var sessionOptions = this.get('session options');

	if (typeof sessionOptions !== 'object') {
		sessionOptions = {};
	}
	if (!sessionOptions.key) {
		sessionOptions.key = 'this.sid';
	}
	if (!sessionOptions.resave) {
		sessionOptions.resave = false;
	}
	if (!sessionOptions.saveUninitialized) {
		sessionOptions.saveUninitialized = false;
	}
	if (!sessionOptions.secret) {
		sessionOptions.secret = this.get('cookie secret');
	}

	sessionOptions.cookieParser = cookieParser(this.get('cookie secret'));

	var sessionStore = this.get('session store');

	if (typeof sessionStore === 'function') {
		sessionOptions.store = sessionStore(session);
	} else if (sessionStore) {

		var sessionStoreOptions = this.get('session store options') || {};

		// Perform any session store specific configuration or exit on an unsupported session store

		if (sessionStore === 'mongo') {
			sessionStore = 'connect-mongo';
		} else if (sessionStore === 'redis') {
			sessionStore = 'connect-redis';
		}

		switch (sessionStore) {
			case 'connect-mongo':
				debug('using connect-mongo session store');
				if (process.version.substr(0, 4) === 'v0.1') {
					// try to require connect-mongo/es5; if this works, we can
					// assume a new version of connect-mongo, and the es5
					// variant should be used
					try {
						require('connect-mongo/es5');
						sessionStore = 'connect-mongo/es5';
					} catch (e) {
						// if it throws, allow the error to be handled by the
						// normal try/catch process around initialisation
					}
				}
				_.defaults(sessionStoreOptions, {
					collection: 'app_sessions',
					url: this.get('mongo'),
				});
				break;

			case 'connect-mongostore':
				debug('using connect-mongostore session store');
				_.defaults(sessionStoreOptions, {
					collection: 'app_sessions',
				});
				if (!sessionStoreOptions.db) {
					console.error(
						'\nERROR: connect-mongostore requires `session store options` to be set.'
						+ '\n'
						+ '\nSee http://thisjs.com/docs/configuration#options-database for details.'
						+ '\n');
					process.exit(1);
				}
				break;

			case 'connect-redis':
				debug('using connect-redis session store');
				break;

			default:
				console.error(
					'\nERROR: unsupported session store ' + sessionStore + '.'
					+ '\n'
					+ '\nSee http://thisjs.com/docs/configuration#options-database for details.'
					+ '\n');
				process.exit(1);
				break;
		}

		// Initialize the session store
		try {
			var SessionStore = require(sessionStore)(session);

			sessionStorePromise = new Promise(
				function (resolve, reject) {
					sessionOptions.store = new SessionStore(sessionStoreOptions, resolve);
					sessionOptions.store.on('connect', resolve);
					sessionOptions.store.on('connected', resolve);
					sessionOptions.store.on('disconnect', function () {
						console.error(
							'\nThere was an error connecting to the ' + sessionStore + ' session store.'
							+ '\n');
						process.exit(1);
					});
				}
			);
		} catch (e) {
			if (e.code === 'MODULE_NOT_FOUND') {
				console.error(
					'\n' + e.toString()
					+ '\nTo use ' + this.get('session store') + ' as a `session store` option, run:'
					+ '\nnpm install ' + sessionStore + ' --save'
					+ '\n');
				process.exit(1);
			} else {
				throw e;
			}
		}
	}

	// expose initialised session and options
	this.set('session options', sessionOptions);
	this.expressSession = session(sessionOptions);
	this.sessionStorePromise = sessionStorePromise;

	return this;
};
Esempio n. 7
0
var app = express();


// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

app.use(compression());

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(cookieParser('hhmweb_'));

app.use(session({
  store: new RedisStore({
    host: "127.0.0.1",
    port: 6379,
    db: 2
  }),
  secret: 'MYun 123!@# web',
  key: 'sid',
  cookie: {secure: false, maxAge: 90 * 24 * 3600 * 1000},
  resave: false,
  saveUninitialized: true
}));
app.use(express.static(path.join(__dirname, 'public')));
Esempio n. 8
0
(function () {
    "use strict";
    var express = require('express'),
        morgan = require('morgan'),
        bodyParser = require('body-parser'),
        methodOverride = require('method-override'),
        cookieParser = require('cookie-parser'),
        expressLayout = require('express3-ejs-layout'),
        compression = require('compression'),
        app = express(),
        route = require("./server/route"),
        config = require("./server/config"),
        kits = require("./server/kits"),
        appPackage = require("./package.json"),
        localsApp = {
            title  : config.title,
            version: appPackage.version,
            env    : config.env,
            baseUrl: config.baseUrl
        };
    app.use(compression());
    app.use(bodyParser());
    app.use(methodOverride());
    app.use(cookieParser(config.cookieSecret));
    app.set('views', __dirname + '/web/view');
    app.use(express.static(__dirname + '/web/static'));// {maxAge: 31557600000}
    app.set('view engine', 'html');
    app.engine('html', require('ejs').renderFile);
    app.use(expressLayout);
    app.set('layout', 'layout');
    app.set("env", config.env);
    app.disable("x-powered-by");
    //启用反向代理
    app.enable('trust proxy');

    morgan.token('data', function (req) {
        return "params:" + JSON.stringify(req.params) + ",query:" + JSON.stringify(req.query) + ",body:" + JSON.stringify(req.body);
    });
    morgan.token('date', function () {
        var now = new Date();
        return now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate() + " " + now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
    });
    morgan.token('operationId', function (req) {
        return req.context ? req.context.operationId : "null";
    });
    if ('development' === config.env) {
        app.use(morgan({
            format: ':method :url :status :remote-addr [:date][:response-time ms] [:operationId]',
            stream: {
                write: kits.logger.info
            }
        }));
        localsApp.siteScripts = config.siteScripts;
    } else {
        app.use(morgan({
            format: ':method :url :status :remote-addr [:date][:response-time ms] [:operationId]',
            stream: {
                write: kits.logger.info
            }
        }));
    }

    app.locals.app = localsApp;

    //初始化路由
    route(app);

    //create server
    app.listen(config.port, function () {
        kits.logger.info('ng-nice server listening on port ' + config.port + " in env " + config.env);
    });

    if (config.env === 'production') {
        process.on("uncaughtException", function (err) {
            kits.logger.info("process uncaughtException:" + err);
        });
    }
})();
Esempio n. 9
0
                    .alias('r', 'root')
                    .string('r')
                    .default('r', './')
                    .argv
argv.root = path.join(__dirname, argv.root)


var server = express()
server.disable('x-powered-by')

// compress output
server.use(compression({
  threshold: 512
}))

server.use(cookieParser())

server.use(serveStatic(argv.root))
//server.use(express.static(argv.root));

// on capture les erreurs eventuelles et on les passe handler suivant
server.use(function(req, res, next) {
    var err = new Error('Not Found')
    err.status = 404
    next(err)
})

server.use(function(err, req, res, next) {
    res.status(err.status || 500)
    res.end(err.message)
})
Esempio n. 10
0
'use strict';
var KEY = 'ntalk.sid',
    SECRET = 'ntalk';
var express = require('express'),
    path = require('path'),
    logger = require('morgan'),
    cookieParser = require('cookie-parser'),
    bodyParser = require('body-parser'),
    load = require('express-load'),
    expressSession = require('express-session'),
    methodOverride = require('method-override'),
    error = require('./middlewares/error'),
    app = express(),
    server = require('http').Server(app),
    io = require('socket.io')(server),
    cookie = cookieParser(SECRET),
    store = new expressSession.MemoryStore();

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookie);
app.use(expressSession({
    secret: SECRET,
    name: KEY,
    resave: true,
    saveUninitialized: true,
    store: store
}));