aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-02-11 11:06:30 +1300
committerAldo Cortesi <aldo@nullcube.com>2011-02-11 11:06:30 +1300
commit759496e24eeef8572f8f57e47254e7df0b178d19 (patch)
treea6571ef9d36b58df7e87a51310ef88c5ac9d99f0 /libmproxy
parent51cdd7b95d5ec2e7436635342cf5ddaadc968e1c (diff)
downloadmitmproxy-759496e24eeef8572f8f57e47254e7df0b178d19.tar.gz
mitmproxy-759496e24eeef8572f8f57e47254e7df0b178d19.tar.bz2
mitmproxy-759496e24eeef8572f8f57e47254e7df0b178d19.zip
Repair unit test suite.
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/proxy.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py
index 8200c725..280bab93 100644
--- a/libmproxy/proxy.py
+++ b/libmproxy/proxy.py
@@ -92,7 +92,7 @@ def parse_url(url):
def parse_request_line(request):
"""
- Parse a proxy request line. Return (method, scheme, host, port, path).
+ Parse a proxy request line. Return (method, scheme, host, port, path, minor).
Raise ProxyError on error.
"""
try:
@@ -228,9 +228,9 @@ class Request(controller.Msg):
class Response(controller.Msg):
FMT = '%s\r\n%s\r\n%s'
- def __init__(self, request, code, msg, headers, content, timestamp=None):
+ def __init__(self, request, code, proto, msg, headers, content, timestamp=None):
self.request = request
- self.code, self.msg = code, msg
+ self.code, self.proto, self.msg = code, proto, msg
self.headers, self.content = headers, content
self.timestamp = timestamp or time.time()
self.cached = False
@@ -438,7 +438,7 @@ class ServerConnection:
content = None
else:
content = read_http_body(self.rfile, self, headers, True)
- return Response(self.request, code, msg, headers, content)
+ return Response(self.request, code, proto, msg, headers, content)
def terminate(self):
try:
@@ -534,15 +534,16 @@ class ProxyHandler(SocketServer.StreamRequestHandler):
'\r\n'
)
self.wfile.flush()
- self.connection = ssl.wrap_socket(
- self.connection,
+ kwargs = dict(
certfile = self.find_cert(host,port),
keyfile = self.find_key(host,port),
server_side = True,
ssl_version = ssl.PROTOCOL_SSLv23,
- ciphers = config.ciphers,
do_handshake_on_connect = False
)
+ if sys.version_info[1] > 6:
+ kwargs["ciphers"] = config.ciphers
+ self.connection = ssl.wrap_socket(self.connection, **kwargs)
self.rfile = FileLike(self.connection)
self.wfile = FileLike(self.connection)
method, scheme, host, port, path, httpminor = parse_request_line(self.rfile.readline())