Documentation

LeanUri.Defs

Core data types for RFC 3986 URIs #

This module defines the URI (absolute URI) and RelativeRef (relative reference) records, plus basic conversions and printer instances. Strings in fields are stored without their leading delimiters (no leading ? for query, no # for fragment, no // for authority).

The types store components exactly as parsed; normalization is performed elsewhere.

structure LeanUri.URI :

An absolute Uniform Resource Identifier as defined by RFC 3986.

All components are stored as they appear (no normalization is performed here).

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

          A relative reference per RFC 3986 (i.e., no scheme).

          This type can still include an authority, path, query, and fragment.

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

                  Drop the scheme of a URI and convert it to a RelativeRef, keeping all other components unchanged.

                  Equations
                  Instances For

                    Serialize a RelativeRef to its RFC 3986 string form.

                    Includes //authority when present, appends ?query and #fragment when present, and does not apply any normalization.

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

                    Serialize a URI to scheme ":" followed by the serialization of its relative part. The output is not normalized.

                    Equations