From 091d90011b285ad66fcc1a252389ed386fb72480 Mon Sep 17 00:00:00 2001
From: Aldo Cortesi Responses
code[MESSAGE]:[colon-separated list of features]
- hKEY=VALUE + hVALUE=VALUE | - Set a header. Both KEY and VALUE are full Value Specifiers. + Set a header. |
- bVALUE + bVALUE | - Set the body. VALUE is a Value - Specifier. When the body is set, pathod will + Set the body. When the body is set, pathod will automatically set the appropriate Content-Length header. |
- cVALUE + cVALUE |
- A shortcut for setting the Content-Type header. Equivalent to:
-
- h"Content-Type"=VALUE- + A shortcut for setting the Content-Type header. Equivalent to + h"Content-Type"=VALUE |
- iOFFSET,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. + Inject the specified value at the offset. |
- lVALUE + 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. + A shortcut for setting the Location header. Equivalent to + h"Location"=VALUE |
- pSECONDS,OFFSET + dOFFSET | - 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. + Disconnect after OFFSET bytes. + | +
+ pSECONDS,OFFSET + | ++ Pause for SECONDS seconds after OFFSET bytes. SECONDS can + be an integer or "f" to pause forever. |
+./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:
- - -+./path/to/spec
Offsets are calculated relative to the base message, before any + injections or other transforms are applied. They have 3 flavors:
+ +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:
+ +ascii | +All ASCII characters | +
ascii_letters | +A-Za-z | +
ascii_lowercase | +a-z | +
ascii_uppercase | +A-Z | +
bytes | +All 256 byte values | +
digits | +0-9 | +
hexdigits | +0-f | +
octdigits | +0-8 | +
punctuation | +
+ !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~+ |
+
whitespace | +
+ \t\n\x0b\x0c\r and space+ |
+