aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpathod/templates/docs_pathod.html91
-rw-r--r--libpathod/templates/request_previewform.html18
-rw-r--r--libpathod/templates/response_previewform.html31
3 files changed, 31 insertions, 109 deletions
diff --git a/libpathod/templates/docs_pathod.html b/libpathod/templates/docs_pathod.html
index 1c8f01c7..c35d9ab8 100644
--- a/libpathod/templates/docs_pathod.html
+++ b/libpathod/templates/docs_pathod.html
@@ -32,97 +32,6 @@ various other goodies. Try it by visiting the server root:</p>
<pre class="example">http://localhost:9999</pre>
-<section id="specifying_responses">
-
- <div class="page-header">
- <h1>Specifying Responses</h1>
- </div>
-
- <p>The general form of a response is as follows:
-
- <pre class="example">code[MESSAGE]:[colon-separated list of features]</pre></p>
-
- <p>Here's the simplest possible response specification, returning just an HTTP 200
- OK message with no headers and no content:
-
- <pre class="example">200</pre></p>
-
- <p>We can embellish this a bit by specifying an optional custom HTTP response
- message (if we don't, pathod automatically creates an appropriate one). By
- default for a 200 response code the message is "OK", but we can change it like
- this:</p>
-
- <pre class="example">200"YAY"</pre>
-
- <p>The quoted string here is an example of a <a href=/docs/language#valuespec>Value
- Specifier</a>, a syntax that is used throughout the pathod response
- specification language. In this case, the quotes mean we're specifying a
- literal string, but there are many other fun things we can do. For example, we
- can tell pathod to generate 100k of random ASCII letters instead:</p>
-
- <pre class="example">200:@100k,ascii_letters</pre>
-
- <p>Full documentation on the value specification syntax can be found in the next
- section.
-
- Following the response code specifier is a colon-separated list of features.
- For instance, this specifies a response with a body consisting of 1 megabyte of
- random data:</p>
-
- <pre class="example">200:b@1m</pre>
-
- <p>And this is the same response with an ETag header added:</p>
-
- <pre class="example">200:b@1m:h"Etag"="foo"</pre>
-
- <p>Both the header name and the header value are full value specifiers. Here's the
- same response again, but with a 1k randomly generated header name:</p>
-
- <pre class="example">200:b@1m:h@1k,ascii_letters="foo"</pre>
-
- <p>A few specific headers have shortcuts, because they're used so often. The
- shortcut for the content-type header is "c":</p>
-
- <pre class="example">200:b@1m:c"text/json"</pre>
-
- <p>That's it for the basic response definition. Now we can start mucking with the
- responses to break clients. One common hard-to-test circumstance is hangs or
- slow responses. pathod has a pause operator that you can use to define
- precisely when and how long the server should hang. Here, for instance, we hang
- for 120 seconds after sending 50 bytes (counted from the first byte of the HTTP
- response):</p>
-
- <pre class="example">200:b@1m:p50,120</pre>
-
- <p>If that's not long enough, we can tell pathod to hang forever:</p>
-
- <pre class="example">200:b@1m:pf,120</pre>
-
- <p>Or to send all data, and then hang without disconnecting:</p>
-
- <pre class="example">200:b@1m:pa,120</pre>
-
- <p>We can also ask pathod to hang randomly:</p>
-
- <pre class="example">200:b@1m:pr,10</pre>
-
- <p>There is a similar mechanism for dropping connections mid-response. So, we can
- tell pathod to disconnect after sending 50 bytes:</p>
-
- <pre class="example">200:b@1m:d50</pre>
-
- <p>Or randomly:</p>
-
- <pre class="example">200:b@1m:dr</pre>
-
- <p>All of these features can be combined. Here's a response that pauses twice,
- once at 10 bytes and once at 20, then disconnects at 5000:</p>
-
- <pre class="example">200:b@1m:p10,10:p20,10:d5000</pre>
-
-
-
-
<section id="api">
<div class="page-header">
<h1>API</h1>
diff --git a/libpathod/templates/request_previewform.html b/libpathod/templates/request_previewform.html
index c09ae018..8146ef4a 100644
--- a/libpathod/templates/request_previewform.html
+++ b/libpathod/templates/request_previewform.html
@@ -10,34 +10,34 @@
<input type="submit" class="btn" value="preview">
</form>
-<a data-toggle="collapse" data-target="#requestexamples">more examples...</a>
+<a data-toggle="collapse" data-target="#requestexamples">Don't know what to type?</a>
+
<div id="requestexamples" class="collapse">
+ <p>Check out the <a href="/docs/language">complete language docs</a>. Here
+ are some examples to get you started:</p>
+
<table class="table table-bordered">
<tbody >
<tr>
<td><a href="/request_preview?spec=get:/">get:/</a></td>
<td>Get path /</td>
</tr>
- </tbody>
- <tbody >
<tr>
<td><a href="/request_preview?spec=get:/:b@100">get:/:b@100</a></td>
<td>100 random bytes as the body</td>
</tr>
- </tbody>
- <tbody >
<tr>
<td><a href='/request_preview?spec=get:/:h"User-Agent"="&apos;;drop table browsers;"'>get:/:h"User-Agent"="';drop table browsers;"</a></td>
<td>Add a User-Agent header</td>
</tr>
- </tbody>
- <tbody>
<tr>
<td><a href="/request_preview?spec=get:/:b@100:dr">get:/:b@100:dr</a></td>
<td>Drop the connection randomly</td>
</tr>
- </tbody>
- <tbody>
+ <tr>
+ <td><a href="/request_preview?spec="></a></td>
+ <td></td>
+ </tr>
<tr>
<td><a href="/request_preview?spec=get:/:b@100,ascii:ir,@1">get:/:b@100,ascii:ir,@1</a></td>
<td>100 ASCII bytes as the body, and randomly inject a random byte</td>
diff --git a/libpathod/templates/response_previewform.html b/libpathod/templates/response_previewform.html
index 93d5960a..3b664433 100644
--- a/libpathod/templates/response_previewform.html
+++ b/libpathod/templates/response_previewform.html
@@ -13,38 +13,51 @@
{% endif %}
</form>
-<a data-toggle="collapse" data-target="#responseexamples">more examples...</a>
+<a data-toggle="collapse" data-target="#responseexamples">Don't know what to type?</a>
<div id="responseexamples" class="collapse">
+ <p>Check out the <a href="/docs/language">complete language docs</a>. Here
+ are some examples to get you started:</p>
+
<table class="table table-bordered">
<tbody >
<tr>
<td><a href="/response_preview?spec=200">200</a></td>
<td>A basic HTTP 200 response</td>
</tr>
- </tbody>
- <tbody >
<tr>
<td><a href="/response_preview?spec=200:b@100">200:b@100</a></td>
<td>100 random bytes as the body</td>
</tr>
- </tbody>
- <tbody >
<tr>
<td><a href='/response_preview?spec=200:b@100:h"Server"="&apos;;drop table servers;"'>200:b@100:h"Etag"="';drop table servers;"</a></td>
<td>Add a Server header</td>
</tr>
- </tbody>
- <tbody>
<tr>
<td><a href="/response_preview?spec=200:b@100:dr">200:b@100:dr</a></td>
<td>Drop the connection randomly</td>
</tr>
- </tbody>
- <tbody>
<tr>
<td><a href="/response_preview?spec=200:b@100,ascii:ir,@1">200:b@100,ascii:ir,@1</a></td>
<td>100 ASCII bytes as the body, and randomly inject a random byte</td>
</tr>
+ <tr>
+ <td><a href='/response_preview?spec=200:b@1k:c"text/json"'>200:b@1k:c"text/json"</a></td>
+ <td>1k of random bytes, with a text/json content type</td>
+ </tr>
+ <tr>
+ <td><a href='/response_preview?spec=200:b@1k:p50,120'>200:b@1k:p50,120</a></td>
+ <td>1k of random bytes, pause for 120 seconds after 50 bytes</td>
+ </tr>
+ <tr>
+ <td><a href='/response_preview?spec=200:b@1k:pr,f'>200:b@1k:pr,f</a></td>
+ <td>1k of random bytes, but hang forever at a random location</td>
+ </tr>
+ <tr>
+ <td>
+ <a href="/response_preview?spec=200:b@100:h@1k,ascii_letters='foo'">200:b@100:h@1k,ascii_letters='foo'</a>
+ </td>
+ <td>100 ASCII bytes as the body, randomly generated 100k header name, with the value 'foo'.</td>
+ </tr>
</tbody>
</table>
</div>