before_fetch(request, ctx) runs on the executor thread before every HTTP request. Modify the URL, add headers, or return nil to skip this run entirely.
function before_fetch ( request , ctx ) -> table | nil
Field
Type
Mutable
Description
request.url
string
yes
Target URL
request.method
string
yes
HTTP method (GET, HEAD, DELETE, etc.)
request.headers
table
yes
HTTP headers (string→string)
request.timeout
number / nil
yes
Per-request timeout in seconds (default: 30)
request.proxy
string / nil
yes
Per-request proxy URL (overrides job proxy config)
request.max_body_size
number / nil
yes
Max response body in MB (integer, default: 10)
Return
Effect
request table
Continue with modified request
nil / false
Skip this entire run
function before_fetch ( request , ctx )
request .headers[ " Authorization " ] = " Bearer my-token "
function before_fetch ( request , ctx )
request .url = request .url .. " ?page= " .. page
if page > 10 then page = 1 end