Files
talk/services/subscriptions.js
2018-01-11 20:00:34 -07:00

32 lines
862 B
JavaScript

const cookieParser = require('cookie-parser')();
const authentication = require('../middleware/authentication');
// Session data does not automatically attach to websocket req objects.
// This middleware code looks for a user in the session and, if it exists,
// attaches it to the graph req.
const deserializeUser = req => {
return new Promise((resolve, reject) => {
// Parse the cookies (if they exist?).
cookieParser(req, null, err => {
if (err) {
return reject(err);
}
// This uses the authentication connect middleware to establish the
// current user.
authentication(req, null, err => {
if (err) {
return reject(err);
}
// Resolve with the request (user removed possibly).
return resolve(req);
});
});
});
};
module.exports = {
deserializeUser,
};