diff options
| author | Aldo Cortesi <aldo@nullcube.com> | 2012-06-25 15:53:26 +1200 | 
|---|---|---|
| committer | Aldo Cortesi <aldo@nullcube.com> | 2012-06-25 15:53:26 +1200 | 
| commit | 52d0536d2c89ef1cfd4b4bed0429bb51a358445d (patch) | |
| tree | 50ec8992a4fea27698d8826873d01d658e9df43a /libmproxy/proxy.py | |
| parent | e08f91c2370562f180035d7d781ec6fec1134b1e (diff) | |
| download | mitmproxy-52d0536d2c89ef1cfd4b4bed0429bb51a358445d.tar.gz mitmproxy-52d0536d2c89ef1cfd4b4bed0429bb51a358445d.tar.bz2 mitmproxy-52d0536d2c89ef1cfd4b4bed0429bb51a358445d.zip  | |
Use new TCPClient.convert_to_ssl API.
Diffstat (limited to 'libmproxy/proxy.py')
| -rw-r--r-- | libmproxy/proxy.py | 35 | 
1 files changed, 17 insertions, 18 deletions
diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py index 16402892..4cffaa3b 100644 --- a/libmproxy/proxy.py +++ b/libmproxy/proxy.py @@ -50,8 +50,8 @@ class RequestReplayThread(threading.Thread):      def run(self):          try:              r = self.flow.request -            server = ServerConnection(self.config, r.scheme, r.host, r.port) -            server.connect() +            server = ServerConnection(self.config, r.host, r.port) +            server.connect(r.scheme)              server.send(r)              httpversion, code, msg, headers, content = http.read_response(                  server.rfile, r.method, self.config.body_size_limit @@ -68,22 +68,21 @@ class RequestReplayThread(threading.Thread):  class ServerConnection(tcp.TCPClient): -    def __init__(self, config, scheme, host, port): -        clientcert = None -        if config.clientcerts: -            path = os.path.join(config.clientcerts, self.host) + ".pem" -            if os.path.exists(clientcert): -                clientcert = path -        tcp.TCPClient.__init__( -            self, -            True if scheme == "https" else False, -            host, -            port, -            clientcert -        ) -        self.config, self.scheme = config, scheme +    def __init__(self, config, host, port): +        tcp.TCPClient.__init__(self, host, port) +        self.config = config          self.requestcount = 0 +    def connect(self, scheme): +        tcp.TCPClient.connect(self) +        if scheme == "https": +            clientcert = None +            if self.config.clientcerts: +                path = os.path.join(self.config.clientcerts, self.host) + ".pem" +                if os.path.exists(clientcert): +                    clientcert = path +            self.convert_to_ssl(clientcert=clientcert) +      def send(self, request):          self.requestcount += 1          try: @@ -128,8 +127,8 @@ class ProxyHandler(tcp.BaseHandler):              self.server_conn = None          if not self.server_conn:              try: -                self.server_conn = ServerConnection(self.config, scheme, host, port) -                self.server_conn.connect() +                self.server_conn = ServerConnection(self.config, host, port) +                self.server_conn.connect(scheme)              except tcp.NetLibError, v:                  raise ProxyError(502, v)  | 
