From 33208b87205e08b97af07ed6a55c999990a1b8dc Mon Sep 17 00:00:00 2001
From: Aldo Cortesi
200@100k,ascii_letters+
200:@100k,ascii_letters
Full documentation on the value specification syntax can be found in the next section. @@ -121,190 +121,6 @@ various other goodies. Try it by visiting the server root:
200:b@1m:p10,10:p20,10:d5000-
| - hKEY=VALUE - | -- Set a header. Both KEY and VALUE are full Value Specifiers. - | -
| - bVALUE - | -- Set the body. VALUE is a Value - Specifier. When the body is set, pathod will - automatically set the appropriate Content-Length header. - | -
| - cVALUE - | -
- A shortcut for setting the Content-Type header. Equivalent to:
-
- h"Content-Type"=VALUE- - |
-
| - iOFFSET,VALUE - | -- Inject the specified value at the offset. OFFSET can be an - integer, or "r" to generate a random offset or "a" for an - offset just after all data has been sent. - | -
| - lVALUE - | -
- A shortcut for setting the Location header. Equivalent to:
-
- h"Location"=VALUE- - |
-
| - dOFFSET - | -- Disconnect after OFFSET bytes. The offset can also be "r", in which case pathod - will disconnect at a random point in the response. - | -
| - pSECONDS,OFFSET - | -- Pause for SECONDS seconds after OFFSET bytes. SECONDS can also be "f" to pause - forever. OFFSET can also be "r" to generate a random offset, or "a" for an - offset just after all data has been sent. - | -
Literal values are specified as a quoted strings:
- -"foo"- -
Either single or double quotes are accepted, and quotes can be escaped with - backslashes within the string:
- -'fo\'o'- -
Literal values can contain Python-style backslash escape sequences:
- -'foo\r\nbar'- - -
You can load a value from a specified file path. To do so, you have to specify - a _staticdir_ option to pathod on the command-line, like so:
- -pathod -d ~/myassets- -
All paths are relative paths under this directory. File loads are indicated by - starting the value specifier with the left angle bracket: - -
<my/path- -
The path value can also be a quoted string, with the same syntax as literals:
- -<"my/path"- - -
An @-symbol lead-in specifies that generated data should be used. There are two - components to a generator specification - a size, and a data type. By default - pathod assumes a data type of "bytes".
- -Here's a value specifier for generating 100 bytes: - -
@100- -
You can use standard suffixes to indicate larger values. Here, for instance, is - a specifier for generating 100 megabytes:
- -@100m- -
Data is generated and served efficiently - if you really want to send a - terabyte of data to a client, pathod can do it. The supported suffixes are:
- - -| b | 1024**0 (bytes) | -
| k | 1024**1 (kilobytes) | -
| m | 1024**2 (megabytes) | -
| g | 1024**3 (gigabytes) | -
| t | 1024**4 (terabytes) | -
Data types are separated from the size specification by a comma. This - specification generates 100mb of ASCII:
- -@100m,ascii- -
Supported data types are:
- - -To let users distinguish crafted responses from internal pathod responses, - pathod uses the non-standard 800 response code to indicate errors. For example, - a request to:
+Pathod uses the non-standard 800 response code to indicate internal + errors, to distinguish them from crafted responses. For example, a request + to:
http://localhost:9999/p/foo-
... will return an 800 response, because "foo" is not a valid page specifier.
+... will return an 800 response because "foo" is not a valid page + specifier.