Raxol.Payments.Headers (Raxol Payments v0.2.0)

Copy Markdown View Source

Shared HTTP header utilities for payment protocol implementations.

Summary

Functions

Find a header value by name (case-insensitive).

Flatten Req-style headers (map of lists) to a flat list of tuples.

Find a header value by name, returning error if missing.

Types

headers()

@type headers() :: [{String.t(), String.t()}]

Functions

find(headers, name)

@spec find(headers(), String.t()) :: String.t() | nil

Find a header value by name (case-insensitive).

flatten(headers)

@spec flatten(map() | headers()) :: headers()

Flatten Req-style headers (map of lists) to a flat list of tuples.

require(headers, name)

@spec require(headers(), String.t()) ::
  {:ok, String.t()} | {:error, {:missing_header, String.t()}}

Find a header value by name, returning error if missing.