caddy-requestid
                                
                                 caddy-requestid copied to clipboard
                                
                                    caddy-requestid copied to clipboard
                            
                            
                            
                        Caddy v2 Module that sets a unique request ID placeholder.
Caddy Request ID
Caddy v2 Module that sets unique request ID placeholders.
Usage
Caddyfile
request_id [<length>] {
  [<key> <length>]
  ...
}
- length - length of ID to generate, defaults to 21
- key, length - additional keys to generate independent IDs for
If you wish to use the directive in a top level block, you must explicitly define the order.
{
  order request_id before header
}
JSON Config
{
  "handler": "request_id",
  "length": 21, // optional
  "additional": { // optional
    "header": 21,
  }
}
Placeholders
The top level request ID will be set in the {http.request_id} placeholder. Any additional IDs will be set in the {http.request_id.<key>} placeholder.
Example
The following example Caddyfile sets a different request ID for response bodies and headers.
{
  order request_id before header
}
localhost {
  request_id {
    body 10
    header 21
  }
  header * x-request-id "{http.request_id.header}"
  respond * "{http.request_id.body}" 200
}