aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@corte.si>2013-12-08 00:55:55 -0800
committerAldo Cortesi <aldo@corte.si>2013-12-08 00:55:55 -0800
commitdfcec4ffbafdf8e8ba943d0bafadfe9063702c35 (patch)
tree2d310cdf2ee92c7c2add761c3f2fd12d77fee587
parent83f061c1a0a4c420d579349c8d717178e211e966 (diff)
parent675518f8735c3f70e25bc448c804ac0fd506a43c (diff)
downloadmitmproxy-dfcec4ffbafdf8e8ba943d0bafadfe9063702c35.tar.gz
mitmproxy-dfcec4ffbafdf8e8ba943d0bafadfe9063702c35.tar.bz2
mitmproxy-dfcec4ffbafdf8e8ba943d0bafadfe9063702c35.zip
Merge pull request #180 from mitmproxy/add_serverconnection_scripthook
Add serverconnection scripthook
-rw-r--r--libmproxy/flow.py7
-rw-r--r--libmproxy/proxy.py1
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 790ae18a..c4bcdcb1 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)