{% extends "frame.html" %} {% block body %}
The general form of a response is as follows:
code[MESSAGE]:[colon-separated list of features]
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. |
+./path/to/spec
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: