diff options
author | Maximilian Hils <git@maximilianhils.com> | 2013-11-18 17:25:52 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2013-11-18 17:25:52 +0100 |
commit | 675518f8735c3f70e25bc448c804ac0fd506a43c (patch) | |
tree | 5d4c8b2a728a6dbed49d6a75839730426bf1e77c | |
parent | 38a1135ab8f3ab2e97d07fa8e339067c67722e16 (diff) | |
download | mitmproxy-675518f8735c3f70e25bc448c804ac0fd506a43c.tar.gz mitmproxy-675518f8735c3f70e25bc448c804ac0fd506a43c.tar.bz2 mitmproxy-675518f8735c3f70e25bc448c804ac0fd506a43c.zip |
add serverconnect script hook
-rw-r--r-- | libmproxy/flow.py | 7 | ||||
-rw-r--r-- | libmproxy/proxy.py | 1 |
2 files changed, 8 insertions, 0 deletions
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) |