From 89a58d7e303f00e4ed7572b60db6a2073804c4a1 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Fri, 5 Aug 2011 10:47:43 +1200 Subject: Start on scripting documentation and examples. --- doc-src/scripts.html | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) (limited to 'doc-src/scripts.html') diff --git a/doc-src/scripts.html b/doc-src/scripts.html index 2514923e..990ca070 100644 --- a/doc-src/scripts.html +++ b/doc-src/scripts.html @@ -1,14 +1,46 @@ -Both __mitmproxy__ and __mitmdump__ allow you to modify requests and responses -with external scripts. This is often done through the __--reqscript__ and -__--respscript__ options +__mitmproxy__ has a powerful event-drive scripting API, that allows you to +modify flows on-the-fly or rewrite previously saved flows locally. + + +## Events + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
start(ctx)Called once on startup, before any other events.
clientconnect(ctx, ClientConnect)Called when a client initiates a connection to the proxy. Note that + a connection can correspond to multiple HTTP requests.
request(ctx, Flow)Called when a client request has been received.
response(ctx, Flow)Called when a server response has been received.
error(ctx, Flow)Called when a flow error has occured, e.g. invalid server + responses, or interrupted connections. This is distinct from a valid + server HTTP error response, which is simply a response with an HTTP + error code.
clientdisconnect(ctx, ClientDisconnect)Called when a client disconnects from the proxy.
done(ctx)Called once on script shutdown, after any other events.
-The script interface is simple - scripts simply read, -modify and return a single __libmproxy.flow.Flow__ object, using the methods -defined in the __libmproxy.script__ module. Scripts must be executable. - -!example("examples/simple_script")!$ -- cgit v1.2.3