mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 10:26:23 +00:00
97 lines
2.9 KiB
HTML
97 lines
2.9 KiB
HTML
{% extends "frame.html" %}
|
|
{% block body %}
|
|
|
|
<div class="page-header">
|
|
<h1>
|
|
pathod
|
|
<small>A pathological web daemon.</small>
|
|
</h1>
|
|
</div>
|
|
|
|
<p>At pathod's heart is a small, terse language for crafting HTTP responses,
|
|
designed to be easy to specify in a request URL. The simplest way to use
|
|
pathod is to fire up the daemon, and specify the response behaviour you
|
|
want using this language in the request URL. Here's a minimal example:</p>
|
|
|
|
<pre class="example">http://localhost:9999/p/200</pre>
|
|
|
|
<p>Everything after the "/p/" path component is a response specifier - in this
|
|
case just a vanilla 200 OK response. See the docs below to get (much) fancier.
|
|
You can also add anchors to the pathod server that serve a fixed response
|
|
whenever a matching URL is requested:</p>
|
|
|
|
<pre class="terminal">pathod -a "/foo=200"</pre>
|
|
|
|
<p>Here, "/foo" a regex specifying the anchor path, and the part after the "=" is
|
|
a response specifier.</p>
|
|
|
|
<p>pathod also has a nifty built-in web interface, which lets you play with
|
|
the language by previewing responses, exposes activity logs, online help and
|
|
various other goodies. Try it by visiting the server root:</p>
|
|
|
|
<pre class="example">http://localhost:9999</pre>
|
|
|
|
<section id="api">
|
|
<div class="page-header">
|
|
<h1>API</h1>
|
|
</div>
|
|
|
|
<p>pathod exposes a simple API, intended to make it possible to drive and
|
|
inspect the daemon remotely for use in unit testing and the like. </p>
|
|
|
|
|
|
<table class="table table-bordered">
|
|
<tbody >
|
|
<tr>
|
|
<td>
|
|
/api/clear_log
|
|
</td>
|
|
<td>
|
|
A POST to this URL clears the log buffer.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
/api/info
|
|
</td>
|
|
<td>
|
|
Basic version and configuration info.
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
/api/log
|
|
</td>
|
|
<td>
|
|
Returns the current log buffer. At the moment the buffer size is 500 entries -
|
|
when the log grows larger than this, older entries are discarded. The returned
|
|
data is a JSON dictionary, with the form:
|
|
|
|
<pre>{ 'log': [ ENTRIES ] } </pre>
|
|
|
|
You can preview the JSON data returned for a log entry through the built-in web
|
|
interface.
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</section>
|
|
|
|
<section>
|
|
<div class="page-header">
|
|
<h1>Error Responses</h1>
|
|
</div>
|
|
|
|
<p>Pathod uses the non-standard 800 response code to indicate internal
|
|
errors, to distinguish them from crafted responses. For example, a request
|
|
to:</p>
|
|
|
|
<pre class="example">http://localhost:9999/p/foo</pre>
|
|
|
|
<p>... will return an 800 response because "foo" is not a valid page
|
|
specifier.</p>
|
|
|
|
</section>
|
|
|
|
{% endblock %}
|