diff --git a/websocket.py b/websocket.py index 7ff057d..a68b342 100644 --- a/websocket.py +++ b/websocket.py @@ -15,6 +15,9 @@ import sys, re, urlparse, socket, asyncore +urlparse.uses_netloc.append("ws") +urlparse.uses_fragment.append("ws") + class WebSocket(object): def __init__(self, url, **kwargs): self.host, self.port, self.resource, self.secure = WebSocket._parse_url(url) @@ -154,7 +157,9 @@ def write(self, data): def _read_until(self, delimiter, callback): self._read_buffer += self.recv(4096) - pos = self._read_buffer.find(delimiter)+len(delimiter)+1 + pos = self._read_buffer.find(delimiter) + if pos >= 0: + pos += len(delimiter)+1 if pos > 0: data = self._read_buffer[:pos] self._read_buffer = self._read_buffer[pos:]