diff --git a/geventwebsocket/handler.py b/geventwebsocket/handler.py index 9316e36..091f8f9 100644 --- a/geventwebsocket/handler.py +++ b/geventwebsocket/handler.py @@ -51,7 +51,7 @@ def run_websocket(self): try: self.server.clients[self.client_address] = Client( self.client_address, self.websocket) - list(self.application(self.environ, lambda s, h, e=None: [])) + self.application(self.environ, lambda s, h, e=None: []) finally: del self.server.clients[self.client_address] if not self.websocket.closed: diff --git a/geventwebsocket/protocols/wamp.py b/geventwebsocket/protocols/wamp.py index c89775b..de674ab 100644 --- a/geventwebsocket/protocols/wamp.py +++ b/geventwebsocket/protocols/wamp.py @@ -131,7 +131,7 @@ def __init__(self, *args, **kwargs): self.procedures = RemoteProcedures() self.prefixes = Prefixes() self.session_id = ''.join( - [random.choice(string.digits + string.letters) + [random.choice(string.digits + string.ascii_letters) for i in range_type(16)]) super(WampProtocol, self).__init__(*args, **kwargs) diff --git a/geventwebsocket/utf8validator.py b/geventwebsocket/utf8validator.py index d604f96..a4e2c12 100644 --- a/geventwebsocket/utf8validator.py +++ b/geventwebsocket/utf8validator.py @@ -210,10 +210,8 @@ def validate(self, ba): state = self.state while i < l: # optimized version of decode(), since we are not interested in actual code points - try: - state = ord(UTF8VALIDATOR_DFA_S[256 + (state << 4) + ord(UTF8VALIDATOR_DFA_S[ba[i]])]) - except: - import ipdb; ipdb.set_trace() + state = ord(UTF8VALIDATOR_DFA_S[256 + (state << 4) + ord(UTF8VALIDATOR_DFA_S[ba[i]])]) + if state == UTF8_REJECT: self.state = state self.i += i