From 58474a837cbd4e225809623022ab8076a6e1d2f2 Mon Sep 17 00:00:00 2001 From: James Coglan Date: Sat, 29 Nov 2014 01:13:18 +0000 Subject: [PATCH] Populate the Message.data field before handing off to extensions. --- lib/websocket/driver/hybi.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/websocket/driver/hybi.js b/lib/websocket/driver/hybi.js index f139a42..e744cf5 100644 --- a/lib/websocket/driver/hybi.js +++ b/lib/websocket/driver/hybi.js @@ -219,6 +219,7 @@ var instance = { if (runExtensions && this.MESSAGE_OPCODES.indexOf(frame.opcode) >= 0) { var message = new Message(frame.opcode === 1 ? 'text' : 'binary'); message.pushFrame(frame); + message.read(); return this._extensions.processOutgoingMessage(message, function(error, message) { if (error) return this._fail('extension_error', error.message); @@ -424,13 +425,14 @@ var instance = { }, _emitMessage: function(message, runExtensions) { + var payload = message.read(); + if (runExtensions) return this._extensions.processIncomingMessage(message, function(error, message) { if (error) return this._fail('extension_error', error.message); this._emitMessage(message); }, this); - var payload = message.read(); if (message.type === 'text') payload = this._encode(payload); delete this._message;