aboutsummaryrefslogtreecommitdiffstats
path: root/netlib
diff options
context:
space:
mode:
authorChandler Abraham <cabraham@twitter.com>2015-04-13 13:36:09 -0700
committerChandler Abraham <cabraham@twitter.com>2015-04-13 13:36:09 -0700
commit2d72a1b6b56f1643cd1d8be59eee55aa7ca2f17f (patch)
tree8e2831fdd659174703f00b4b1cd008cfb70185a2 /netlib
parent0ed2a290639833d772b89cf333577820e84f8204 (diff)
downloadmitmproxy-2d72a1b6b56f1643cd1d8be59eee55aa7ca2f17f.tar.gz
mitmproxy-2d72a1b6b56f1643cd1d8be59eee55aa7ca2f17f.tar.bz2
mitmproxy-2d72a1b6b56f1643cd1d8be59eee55aa7ca2f17f.zip
100% test coverage, though still need plenty more
Diffstat (limited to 'netlib')
-rw-r--r--netlib/http.py14
-rw-r--r--netlib/websockets/implementations.py10
-rw-r--r--netlib/websockets/websockets.py9
3 files changed, 6 insertions, 27 deletions
diff --git a/netlib/http.py b/netlib/http.py
index 2c72621d..26438863 100644
--- a/netlib/http.py
+++ b/netlib/http.py
@@ -29,20 +29,6 @@ def _is_valid_host(host):
return None
return True
-def is_successful_upgrade(request, response):
- """
- determines if a client and server successfully agreed to an HTTP protocol upgrade
-
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism
- """
- http_switching_protocols_code = 101
-
- if request and response:
- responseUpgrade = request.headers.get("Upgrade")
- requestUpgrade = response.headers.get("Upgrade")
- if response.code == http_switching_protocols_code and responseUpgrade == requestUpgrade:
- return requestUpgrade[0] if len(requestUpgrade) > 0 else None
- return None
def parse_url(url):
"""
diff --git a/netlib/websockets/implementations.py b/netlib/websockets/implementations.py
index 73a84690..1ded3b85 100644
--- a/netlib/websockets/implementations.py
+++ b/netlib/websockets/implementations.py
@@ -65,9 +65,6 @@ class WebSocketsClient(tcp.TCPClient):
self.wfile.flush()
server_handshake = ws.read_handshake(self.rfile.read, 1)
-
- if not server_handshake:
- self.close()
server_nounce = ws.process_handshake_from_server(server_handshake, self.client_nounce)
@@ -75,11 +72,8 @@ class WebSocketsClient(tcp.TCPClient):
self.close()
def read_next_message(self):
- try:
- return ws.WebSocketsFrame.from_byte_stream(self.rfile.read).payload
- except IndexError:
- self.close()
-
+ return ws.WebSocketsFrame.from_byte_stream(self.rfile.read).payload
+
def send_message(self, message):
frame = ws.WebSocketsFrame.default(message, from_client = True)
self.wfile.write(frame.safe_to_bytes())
diff --git a/netlib/websockets/websockets.py b/netlib/websockets/websockets.py
index cf9a68aa..ea3db21d 100644
--- a/netlib/websockets/websockets.py
+++ b/netlib/websockets/websockets.py
@@ -158,11 +158,10 @@ class WebSocketsFrame(object):
("actual_payload_length - " + str(self.actual_payload_length))])
def safe_to_bytes(self):
- try:
- assert self.is_valid()
- return self.to_bytes()
- except:
- raise WebSocketFrameValidationException()
+ if self.is_valid():
+ return self.to_bytes()
+ else:
+ raise WebSocketFrameValidationException()
def to_bytes(self):
"""