kopia lustrzana https://github.com/c9/core
43 wiersze
1.1 KiB
JavaScript
43 wiersze
1.1 KiB
JavaScript
var Session = require("connect").session;
|
|
var assert = require("assert");
|
|
|
|
module.exports = function startup(options, imports, register) {
|
|
|
|
assert(options.key, "option 'key' is required");
|
|
assert(options.secret, "option 'secret' is required");
|
|
|
|
var connect = imports.connect;
|
|
var sessionStore = imports["session-store"];
|
|
|
|
var sessionOptions = {
|
|
store: sessionStore,
|
|
key: options.key,
|
|
secret: options.secret,
|
|
cookie: {}
|
|
};
|
|
if ("proxy" in options)
|
|
sessionOptions.proxy = options.proxy;
|
|
|
|
var cookie = sessionOptions.cookie;
|
|
if ("secure" in options)
|
|
cookie.secure = options.secure;
|
|
|
|
if ("maxAge" in options)
|
|
cookie.maxAge = options.maxAge;
|
|
|
|
var connectModule = imports.connect.getModule();
|
|
var sessionRoutes = connectModule();
|
|
connect.useSession(sessionRoutes);
|
|
|
|
sessionRoutes.use(Session(sessionOptions, cookie));
|
|
|
|
register(null, {
|
|
session: {
|
|
getKey: function() {
|
|
return options.key;
|
|
},
|
|
get: sessionStore.get,
|
|
use: sessionRoutes.use.bind(sessionRoutes)
|
|
}
|
|
});
|
|
}; |