{% extends "docframe.html" %} {% block body %}
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-7 |
punctuation |
!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ |
whitespace |
\t\n\x0b\x0c\r and space |