Documentation

Std.Internal.Http.Data.Headers.Basic

Header Typeclass and Common Headers #

This module defines the Header typeclass for typed HTTP headers and some common header parsers.

Reference: https://www.rfc-editor.org/rfc/rfc9110.html#name-representation-data-and-met

class Std.Http.Header (α : Type) :

Typeclass for typed HTTP headers that can be parsed from and serialized to header values.

  • parse : ValueOption α

    Parses a header value into the typed representation.

  • serialize : αName × Value

    Serializes the typed representation back to a name-value pair.

Instances
    @[implicit_reducible]

    The Content-Length header, representing the size of the message body in bytes. Parses only valid natural number values.

    Reference: https://www.rfc-editor.org/rfc/rfc9110.html#section-8.6-2

    • length : Nat

      The content length in bytes.

    Instances For

      Parses a content length header value.

      Instances For

        Serializes a content length header back to a name-value pair.

        Instances For

          Validates the chunked placement rules for the Transfer Encoding header. Returns false if the encoding list violates the constraints.

          Reference: https://www.rfc-editor.org/rfc/rfc9112#section-6.1

          Instances For

            The Transfer-Encoding header, representing the list of transfer codings applied to the message body.

            Validation rules (RFC 9112 Section 6.1):

            • "chunked" may appear at most once.
            • If "chunked" is present, it must be the last encoding in the list.

            Reference: https://www.rfc-editor.org/rfc/rfc9112#section-6.1

            • codings : Array String

              The ordered list of transfer codings.

            • isValid : Validate self.codings = true

              Proof that the transfer codings satisfy the chunked placement rules.

            Instances For

              Returns true if the transfer encoding ends with chunked.

              Instances For

                Parses a comma-separated list of transfer codings from a header value, validating chunked placement.

                Instances For

                  Serializes a transfer encoding back to a comma-separated header value.

                  Instances For

                    The Connection header, represented as a list of connection option tokens.

                    Reference: https://www.rfc-editor.org/rfc/rfc9110.html#name-connection

                    Instances For

                      Checks whether a specific token is present in the Connection header value.

                      Instances For

                        Checks whether the Connection header requests connection close semantics.

                        Instances For

                          Parses a Connection header value into normalized tokens.

                          Instances For

                            Serializes a Connection header back to a comma-separated value.

                            Instances For