From 675518f8735c3f70e25bc448c804ac0fd506a43c Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Mon, 18 Nov 2013 17:25:52 +0100 Subject: add serverconnect script hook --- libmproxy/flow.py | 7 +++++++ libmproxy/proxy.py | 1 + 2 files changed, 8 insertions(+) diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 24042812..40b7e535 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -1580,6 +1580,13 @@ class FlowMaster(controller.Master): self.run_script_hook("clientdisconnect", r) r.reply() + def handle_serverconnection(self, sc): + # To unify the mitmproxy script API, we call the script hook "serverconnect" rather than "serverconnection". + # As things are handled differently in libmproxy (ClientConnect + ClientDisconnect vs ServerConnection class), + # there is no "serverdisonnect" event at the moment. + self.run_script_hook("serverconnect", sc) + sc.reply() + def handle_error(self, r): f = self.state.add_error(r) if f: diff --git a/libmproxy/proxy.py b/libmproxy/proxy.py index 75a54192..94f358bc 100644 --- a/libmproxy/proxy.py +++ b/libmproxy/proxy.py @@ -158,6 +158,7 @@ class ProxyHandler(tcp.BaseHandler): if not self.server_conn: try: self.server_conn = ServerConnection(self.config, scheme, host, port, sni) + self.channel.ask(self.server_conn) self.server_conn.connect() except tcp.NetLibError, v: raise ProxyError(502, v) -- cgit v1.2.3