Merge commit 'a04edfe80f54b44df5a3579f71710560c6b7b4fc'

* commit 'a04edfe80f54b44df5a3579f71710560c6b7b4fc':
  Added temp dir for unit test data and cleanup
This commit is contained in:
Peter Åstrand (astrand)
2013-11-28 09:34:33 +01:00
4 changed files with 90 additions and 107 deletions
+8 -7
View File
@@ -168,7 +168,7 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler):
return header + buf, len(header), 0
@staticmethod
def decode_hybi(buf, base64=False):
def decode_hybi(buf, base64=False, logger=None):
""" Decode HyBi style WebSocket packets.
Returns:
{'fin' : 0_or_1,
@@ -192,7 +192,8 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler):
'close_code' : 1000,
'close_reason' : ''}
logger = WebSocketServer.get_logger()
if logger is None:
logger = WebSocketServer.get_logger()
blen = len(buf)
f['left'] = blen
@@ -232,16 +233,15 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler):
f['payload'] = WebSocketRequestHandler.unmask(buf, f['hlen'],
f['length'])
else:
self.vmsg("Unmasked frame: %s" % repr(buf))
logger.debug("Unmasked frame: %s" % repr(buf))
f['payload'] = buf[(f['hlen'] + f['masked'] * 4):full_len]
if base64 and f['opcode'] in [1, 2]:
try:
f['payload'] = b64decode(f['payload'])
except:
self.warn("Exception while b64decoding buffer: %s",
repr(buf))
self.vmsg('Exception', exc_info=True)
logger.exception("Exception while b64decoding buffer: %s" %
(repr(buf)))
raise
if f['opcode'] == 0x08:
@@ -340,7 +340,8 @@ class WebSocketRequestHandler(SimpleHTTPRequestHandler):
self.recv_part = None
while buf:
frame = self.decode_hybi(buf, base64=self.base64)
frame = self.decode_hybi(buf, base64=self.base64,
logger=self.logger)
#self.msg("Received buf: %s, frame: %s", repr(buf), frame)
if frame['payload'] == None: