NAME
PAGI::Middleware::RequestId - Unique request ID middleware
SYNOPSIS
use PAGI::Middleware::Builder;
my $app = builder {
enable 'RequestId',
header => 'X-Request-ID',
trust_incoming => 0;
$my_app;
};
DESCRIPTION
PAGI::Middleware::RequestId generates unique request IDs and adds them to both the scope and response headers. This is useful for request tracing and log correlation.
CONFIGURATION
header (default: 'X-Request-ID')
The header name to use for the request ID.
trust_incoming (default: 0)
If true, use an existing request ID from the incoming request headers instead of generating a new one.
generator (default: built-in UUID generator)
A coderef that generates unique IDs. Receives the scope as argument.
GENERATED IDS
The default ID generator creates IDs in the format:
TTTTTTTT-PPPP-CCCC-RRRR-RRRRRRRRRRRR
Where: - TTTTTTTT: Unix timestamp (hex) - PPPP: Process ID (hex) - CCCC: Counter (hex) - RRRR-RRRRRRRRRRRR: Random bytes (hex)
This ensures uniqueness across processes and restarts.
SEE ALSO
PAGI::Middleware - Base class for middleware