diff --git a/lib/socket.io/listener.js b/lib/socket.io/listener.js index cea076af54..5a5d3eb80b 100644 --- a/lib/socket.io/listener.js +++ b/lib/socket.io/listener.js @@ -77,9 +77,10 @@ Listener.prototype.broadcast = function(message, except){ }; Listener.prototype.check = function(req, res, httpUpgrade, head){ - var path = url.parse(req.url).pathname, parts, cn; + var path = url.parse(req.url).pathname, parts, cn, + prefix = this.options.resource.replace(/(.*\/)?(.*)$/, "$1");; if (path && path.indexOf('/' + this.options.resource) === 0){ - parts = path.substr(1).split('/'); + parts = path.replace(prefix, "").substr(1).split('/'); if (this._serveClient(parts.slice(1).join('/'), req, res)) return true; if (!(parts[1] in transports)) return false; if (parts[2]){ @@ -178,4 +179,4 @@ Listener.prototype._onConnection = function(transport, req, res, httpUpgrade, he } this.options.log('Initializing client with transport "'+ transport +'"'); new transports[transport](this, req, res, this.options.transportOptions[transport], head); -}; \ No newline at end of file +};