@@ -60,13 +60,9 @@ exports.encodePacket = function (packet, supportsBinary, utf8encode, callback) {
6060 utf8encode = null ;
6161 }
6262
63- var data = ( packet . data === undefined )
64- ? undefined
65- : packet . data . buffer || packet . data ;
66-
67- if ( Buffer . isBuffer ( data ) ) {
63+ if ( Buffer . isBuffer ( packet . data ) ) {
6864 return encodeBuffer ( packet , supportsBinary , callback ) ;
69- } else if ( data instanceof ArrayBuffer ) {
65+ } else if ( packet . data && ( packet . data . buffer || packet . data ) instanceof ArrayBuffer ) {
7066 return encodeArrayBuffer ( packet , supportsBinary , callback ) ;
7167 }
7268
@@ -97,9 +93,8 @@ function encodeBuffer(packet, supportsBinary, callback) {
9793}
9894
9995function encodeArrayBuffer ( packet , supportsBinary , callback ) {
100- var data = ( packet . data === undefined )
101- ? undefined
102- : packet . data . buffer || packet . data ;
96+
97+ var data = packet . data . buffer || packet . data ;
10398
10499 if ( ! supportsBinary ) {
105100 return exports . encodeBase64Packet ( packet , callback ) ;
@@ -123,11 +118,11 @@ function encodeArrayBuffer(packet, supportsBinary, callback) {
123118 */
124119
125120exports . encodeBase64Packet = function ( packet , callback ) {
126- var data = packet . data . buffer || packet . data ;
127- if ( data instanceof ArrayBuffer ) {
128- var buf = new Buffer ( data . byteLength ) ;
121+
122+ if ( ! Buffer . isBuffer ( packet . data ) ) {
123+ var buf = new Buffer ( packet . data . byteLength ) ;
129124 for ( var i = 0 ; i < buf . length ; i ++ ) {
130- buf [ i ] = data [ i ] ;
125+ buf [ i ] = packet . data [ i ] ;
131126 }
132127 packet . data = buf ;
133128 }
0 commit comments