From 0eda6e3afb64735854fe02d50b415156bf08af4d Mon Sep 17 00:00:00 2001 From: liris Date: Mon, 26 May 2014 07:49:56 +0900 Subject: - fixed #84 --- README.rst | 4 ++++ setup.py | 2 +- tests/test_websocket.py | 2 ++ websocket/__init__.py | 5 +++-- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 5e7e6cc..1c56326 100644 --- a/README.rst +++ b/README.rst @@ -143,6 +143,10 @@ example:: ChangeLog ============ +- v0.15.0 + + - fixed exception when send a large message (#84) + - v0.14.1 - fixed to work on Python2.6 (#83) diff --git a/setup.py b/setup.py index 33dfb16..7bba410 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup import sys -VERSION = "0.14.1" +VERSION = "0.15.0" install_requires = ["six"] if sys.version_info[0] == 2: diff --git a/tests/test_websocket.py b/tests/test_websocket.py index 94b1cb7..671ffd6 100644 --- a/tests/test_websocket.py +++ b/tests/test_websocket.py @@ -223,6 +223,8 @@ class WebSocketTest(unittest.TestCase): sock.send(u"こんにちは") self.assertEqual(s.sent[1], six.b("\x81\x8fabcd\x82\xe3\xf0\x87\xe3\xf1\x80\xe5\xca\x81\xe2\xc5\x82\xe3\xcc")) + sock.send("x" * 127) + def testRecv(self): # TODO: add longer frame data sock = ws.WebSocket() diff --git a/websocket/__init__.py b/websocket/__init__.py index 77ba46c..fa14e5a 100644 --- a/websocket/__init__.py +++ b/websocket/__init__.py @@ -335,15 +335,16 @@ class ABNF(object): | self.opcode) if length < ABNF.LENGTH_7: frame_header += chr(self.mask << 7 | length) + frame_header = six.b(frame_header) elif length < ABNF.LENGTH_16: frame_header += chr(self.mask << 7 | 0x7e) + frame_header = six.b(frame_header) frame_header += struct.pack("!H", length) else: frame_header += chr(self.mask << 7 | 0x7f) + frame_header = six.b(frame_header) frame_header += struct.pack("!Q", length) - frame_header = six.b(frame_header) - if not self.mask: return frame_header + self.data else: -- cgit v1.2.1