<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <link href="../01-reset-fonts-grids-base.css" type="text/css" rel="StyleSheet"/> <link href="../02-docstyle.css" type="text/css" rel="StyleSheet"/> <link href="../syntax.css" type="text/css" rel="StyleSheet"/> <title>Examples</title></head><body><div id="doc"> <div style="" id="hd" class="doc"> <div id="nav"> <a href="../scripts.html">prev</a> | <a href="../index.html">index</a> | <a href="../ssl.html">next</a> </div> <h1><a href="../index.html">mitmproxy docs</a></h1> </div> <div id="bd"> <div id="yui-main"> <div style="" class="yui-b"> <h1>Examples</h1> <h2>Stub script</h2> <div class="example"><div class="highlight"><pre><span class="sd">"""</span> <span class="sd"> This is a script stub, with definitions for all events.</span> <span class="sd">"""</span> <span class="k">def</span> <span class="nf">start</span><span class="p">(</span><span class="n">ctx</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called once on script startup, before any other events.</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"start"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">clientconnect</span><span class="p">(</span><span class="n">ctx</span><span class="p">,</span> <span class="n">client_connect</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called when a client initiates a connection to the proxy. Note that a</span> <span class="sd"> connection can correspond to multiple HTTP requests</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"clientconnect"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">request</span><span class="p">(</span><span class="n">ctx</span><span class="p">,</span> <span class="n">flow</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called when a client request has been received.</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"request"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">response</span><span class="p">(</span><span class="n">ctx</span><span class="p">,</span> <span class="n">flow</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called when a server response has been received.</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"response"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">error</span><span class="p">(</span><span class="n">ctx</span><span class="p">,</span> <span class="n">flow</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called when a flow error has occured, e.g. invalid server responses, or</span> <span class="sd"> interrupted connections. This is distinct from a valid server HTTP error</span> <span class="sd"> response, which is simply a response with an HTTP error code. </span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"error"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">clientdisconnect</span><span class="p">(</span><span class="n">ctx</span><span class="p">,</span> <span class="n">client_disconnect</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called when a client disconnects from the proxy.</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"clientdisconnect"</span><span class="p">)</span> <span class="k">def</span> <span class="nf">done</span><span class="p">(</span><span class="n">ctx</span><span class="p">):</span> <span class="sd">"""</span> <span class="sd"> Called once on script shutdown, after any other events.</span> <span class="sd"> """</span> <span class="n">ctx</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="s">"done"</span><span class="p">)</span> </pre></div> <div class="example_legend">(examples/stub.py)</div></div> </div> </div> </div> <div style="" id="ft" class="doc"> <p>© mitmproxy project, 2011</p> </div> </div> </body></html>