Documentation
¶
Overview ¶
Package correlation defines validated, transport-neutral request correlation identities. It never exposes arbitrary metadata to observability sinks.
Index ¶
Constants ¶
const ( // RequestIDMetadataKey is the one explicitly supported inbound correlation // key. Other metadata remains unavailable to completion logging. RequestIDMetadataKey = "x-request-id" // MaxRequestIDBytes bounds log and trace storage for one request identity. MaxRequestIDBytes = 128 )
Variables ¶
var ErrInvalidRequestID = errors.New("correlation: invalid request id")
ErrInvalidRequestID reports an empty, oversized, ambiguous, or malformed ID.
Functions ¶
func ParseRequestID ¶
ParseRequestID validates one stable ASCII request identity. Padding and control characters are rejected instead of normalized to avoid ambiguity.
func PropagateRequestID ¶ added in v0.0.4
func PropagateRequestID() middleware.Middleware
PropagateRequestID promotes an already validated inbound request ID into the typed context used by downstream handlers and observability. Missing request IDs remain optional; callers that require one should use RequireRequestID instead.
func RequestID ¶
RequestID returns the validated typed identity when middleware published it. Before policy middleware runs, it may read only the explicitly supported inbound metadata key and applies the same validation contract.
func RequireRequestID ¶
func RequireRequestID() middleware.Middleware
RequireRequestID rejects calls without exactly one validated request ID and publishes the typed value to downstream handlers.
Types ¶
This section is empty.