From 53e96270012fe3ea0a6cb605ffdfcb0b94ce25f2 Mon Sep 17 00:00:00 2001 From: Aziz Khoury Date: Fri, 15 Apr 2016 15:55:55 -0400 Subject: [PATCH] unify request as a store key for both http and websockets calls --- src/middleware/cls.js | 11 ++++------- src/socket.io/index.js | 7 +++++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/middleware/cls.js b/src/middleware/cls.js index ce3d79b922..ce795eae6a 100644 --- a/src/middleware/cls.js +++ b/src/middleware/cls.js @@ -1,4 +1,6 @@ var path = require('path'); +var sockets = require('path'); +var websockets = require('../socket.io'); var continuationLocalStorage = require('continuation-local-storage'); var APP_NAMESPACE = require(path.join(__dirname, '../../package.json')).name; var namespace = continuationLocalStorage.createNamespace(APP_NAMESPACE); @@ -7,18 +9,14 @@ var cls = {}; cls.http = function (req, res, next) { namespace.run(function() { - namespace.set('http', {req: req, res: res}); + namespace.set('request', req); next(); }); }; cls.socket = function (socket, payload, event, next) { namespace.run(function() { - namespace.set('ws', { - socket: socket, - payload: payload, - // if it's a null event, then we grab it from the payload - event: event || ((payload || {}).data || [])[0]}); + namespace.set('request', websockets.reqFromSocket(socket, payload, event)); next(); }); }; @@ -33,7 +31,6 @@ cls.set = function (key, value) { cls.setItem = cls.set; cls.getItem = cls.set; -cls.getNamespace = cls.storage; cls.namespace = namespace; cls.continuationLocalStorage = continuationLocalStorage; diff --git a/src/socket.io/index.js b/src/socket.io/index.js index de504ab523..76fda883a6 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -248,7 +248,7 @@ Sockets.getOnlineAnonCount = function () { return room ? room.length : 0; }; -Sockets.reqFromSocket = function(socket) { +Sockets.reqFromSocket = function(socket, payload, event) { var headers = socket.request.headers; var host = headers.host; var referer = headers.referer || ''; @@ -256,11 +256,14 @@ Sockets.reqFromSocket = function(socket) { return { ip: headers['x-forwarded-for'] || socket.ip, host: host, + uid: socket.uid, protocol: socket.request.connection.encrypted ? 'https' : 'http', secure: !!socket.request.connection.encrypted, url: referer, + body: {event: event || ((payload || {}).data || [])[0], payload: payload}, path: referer.substr(referer.indexOf(host) + host.length), - headers: headers + headers: headers, + _socket: socket }; };