Skip to content

Instantly share code, notes, and snippets.

@jas-
Last active December 18, 2015 11:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jas-/5774558 to your computer and use it in GitHub Desktop.
Save jas-/5774558 to your computer and use it in GitHub Desktop.
express.js -> connect.js -> custom session store
DELETE: 6VQUjoo5smbnNvxtandOx0kz => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET / 304 1076ms
SEARCH: 6VQUjoo5smbnNvxtandOx0kz => [[{"sid":"6VQUjoo5smbnNvxtandOx0kz","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,52,49,101,100,101,102,102,48,45,97,56,52,100,45,52,53,101,56,45,56,51,50,102,45,102,48,49,102,99,54,56,54,52,48,51,49,34,125]},"expires":1371139476,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"node.dev"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET /stylesheets/themes/default/jquery.mobile-1.2.0.css 304 5003ms
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,52,48,54,101,52,55,55,56,45,99,99,99,55,45,52,57,53,57,45,57,100,53,48,45,51,102,100,51,52,55,56,97,49,56,54,50,34,125]},"expires":1371139481,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
GET /stylesheets/themes/custom/custom.min.css 304 5360ms
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET /stylesheets/themes/mobile/original/jqm-icon-pack-2.0-original.css 304 5377ms
GET /stylesheets/style.css 200 6192ms
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET /javascripts/jquery.js 304 1912ms
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,57,100,56,49,99,97,101,97,45,55,56,99,99,45,52,50,56,101,45,97,98,55,98,45,102,52,57,57,56,53,99,49,55,97,54,57,34,125]},"expires":1371139483,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET /stylesheets/main.css 304 2105ms
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,98,53,55,52,54,101,57,53,45,55,54,101,50,45,52,99,100,100,45,56,56,56,97,45,54,55,102,97,48,102,57,49,55,98,98,98,34,125]},"expires":1371139483,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,98,53,55,52,54,101,57,53,45,55,54,101,50,45,52,99,100,100,45,56,56,56,97,45,54,55,102,97,48,102,57,49,55,98,98,98,34,125]},"expires":1371139483,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
DELETE: bA-W_9KQYD9UwkSGfiMFyLV_ => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
GET /javascripts/jquery.mobile-1.2.0.min.js 304 1893ms
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,57,54,57,54,48,101,56,100,45,97,101,98,52,45,52,98,101,52,45,56,97,53,57,45,48,53,101,57,100,56,52,55,56,54,57,50,34,125]},"expires":1371139484,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: bA-W_9KQYD9UwkSGfiMFyLV_ => [[{"sid":"bA-W_9KQYD9UwkSGfiMFyLV_","session":{"type":"Buffer","data":[123,34,115,105,100,34,58,34,57,54,57,54,48,101,56,100,45,97,101,98,52,45,52,98,101,52,45,56,97,53,57,45,48,53,101,57,100,56,52,55,56,54,57,50,34,125]},"expires":1371139484,"agent":"ec0ff2af80b4e76fc39ddc1ab6d9899bc0371765b0ad51ead3f80574db86fbb6","ip":"f9292b96ff7d66abe0820bbe9bd022cb0abd37bd673d7b462e1bba84245a9f66","referer":"https://node.dev:8000/"}],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
GET /images/lock-128x128.png 304 174ms
GET /images/marriottHeader-U.gif 304 322ms
GET /images/marriottHeader-title.gif 304 401ms
GET /stylesheets/themes/mobile/original/images/ajax-loader.gif 304 431ms
GET /stylesheets/themes/mobile/original/images/icons-18-white-pack.png 304 580ms
DELETE: PpogINaQ2wopS7eiuESTeUSK => {"fieldCount":0,"affectedRows":1,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
DELETE: PpogINaQ2wopS7eiuESTeUSK => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
DELETE: PpogINaQ2wopS7eiuESTeUSK => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
DELETE: PpogINaQ2wopS7eiuESTeUSK => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
DELETE: PpogINaQ2wopS7eiuESTeUSK => {"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}
SEARCH: PpogINaQ2wopS7eiuESTeUSK => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: PpogINaQ2wopS7eiuESTeUSK => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: PpogINaQ2wopS7eiuESTeUSK => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: PpogINaQ2wopS7eiuESTeUSK => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
SEARCH: PpogINaQ2wopS7eiuESTeUSK => [[],{"fieldCount":0,"affectedRows":0,"insertId":0,"serverStatus":2,"warningCount":0,"message":"","protocol41":true,"changedRows":0}]
/* expose some client attributes */
var attrs = {};
app.use(function(req, res, next){
attrs.headers = req.headers;
attrs.ip = req.ip;
attrs.agent = req.headers['user-agent'];
attrs.referer = (req.headers['referer']) ? req.headers['referer'] : req.host;
next();
});
/* express.js middle-ware for persistant sessions */
app.use(express.cookieParser('secret squirrel'));
/* custom handler for transparent encrypted sessions */
app.use(express.session({
secret: 'secret squirrel',
key: 'acorns',
store: new sessions(attrs)
}));
app.use(express.csrf());
app.use(function(req, res, next){
res.locals.token = req.session._csrf;
req.session.regenerate(function(err) {
if (err)
throw err
})
next();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment