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]
    Equations
    • One or more equations did not get rendered due to their size.

    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
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

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

        Equations
        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

          Equations
          • One or more equations did not get rendered due to their size.
          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
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Returns true if the transfer encoding ends with chunked.

                Equations
                Instances For

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

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

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

                    Equations
                    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
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

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

                          Equations
                          Instances For

                            Checks whether the Connection header requests connection close semantics.

                            Equations
                            Instances For

                              Parses a Connection header value into normalized tokens.

                              Equations
                              Instances For

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

                                Equations
                                Instances For