diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-06-15 09:20:10 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-06-15 09:20:10 +1200 |
commit | a9495dc02fa0942d82e1247f875bb962872e8802 (patch) | |
tree | c52e505036f15650e78c2c327e8f617f30c6a289 /libmproxy/proxy.py | |
parent | 176d819559e01125c6fe2a34c86cb47c62f49b27 (diff) | |
download | mitmproxy-a9495dc02fa0942d82e1247f875bb962872e8802.tar.gz mitmproxy-a9495dc02fa0942d82e1247f875bb962872e8802.tar.bz2 mitmproxy-a9495dc02fa0942d82e1247f875bb962872e8802.zip |
Refactor test suite to make room for transparent mode tests.
Diffstat (limited to 'libmproxy/proxy.py')
-rw-r--r-- | libmproxy/proxy.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py index ea38b1e8..fa8d1062 100644 --- a/libmproxy/proxy.py +++ b/libmproxy/proxy.py @@ -34,7 +34,8 @@ class ProxyError(Exception): class ProxyConfig: - def __init__(self, certfile = None, cacert = None, clientcerts = None, cert_wait_time=0, upstream_cert=False, body_size_limit = None, reverse_proxy=None): + def __init__(self, certfile = None, cacert = None, clientcerts = None, cert_wait_time=0, upstream_cert=False, body_size_limit = None, reverse_proxy=None, transparent_mode=None): + assert not (reverse_proxy and transparent_mode) self.certfile = certfile self.cacert = cacert self.clientcerts = clientcerts @@ -43,6 +44,7 @@ class ProxyConfig: self.upstream_cert = upstream_cert self.body_size_limit = body_size_limit self.reverse_proxy = reverse_proxy + self.transparent_mode = transparent_mode def read_headers(fp): @@ -239,7 +241,7 @@ class FileLike: def flush(self): pass - + def read(self, length): result = '' while len(result) < length: @@ -488,7 +490,9 @@ class ProxyHandler(SocketServer.StreamRequestHandler): if line == "": return None - if self.config.reverse_proxy: + if self.config.transparent_mode: + pass + elif self.config.reverse_proxy: scheme, host, port = self.config.reverse_proxy method, path, httpversion = parse_init_http(line) headers = read_headers(self.rfile) |