URI.AbsoluteURI
#AbsoluteURI
data AbsoluteURI userInfo hosts path hierPath queryA strictly absolute URI. An absolute URI can still contain relative paths
but is required to have a Scheme component.
Constructors
AbsoluteURI Scheme (HierarchicalPart userInfo hosts path hierPath) (Maybe query)
Instances
(Eq userInfo, Eq hosts, Eq path, Eq hierPath, Eq query) => Eq (AbsoluteURI userInfo hosts path hierPath query)(Ord userInfo, Ord hosts, Ord path, Ord hierPath, Ord query) => Ord (AbsoluteURI userInfo hosts path hierPath query)Generic (AbsoluteURI userInfo hosts path hierPath query) _(Show userInfo, Show hosts, Show path, Show hierPath, Show query) => Show (AbsoluteURI userInfo hosts path hierPath query)
#AbsoluteURIOptions
type AbsoluteURIOptions :: Type -> Type -> Type -> Type -> Type -> Row Typetype AbsoluteURIOptions userInfo hosts path hierPath query = AbsoluteURIParseOptions userInfo hosts path hierPath query (AbsoluteURIPrintOptions userInfo hosts path hierPath query ())
A row type for describing the options fields used by the absolute URI parser and printer.
Used as Record (AbsoluteURIOptions userInfo hosts path hierPath query)
when type anotating an options record.
See below for details of how to use these configuration options.
#AbsoluteURIParseOptions
type AbsoluteURIParseOptions :: Type -> Type -> Type -> Type -> Type -> Row Type -> Row Typetype AbsoluteURIParseOptions userInfo hosts path hierPath query r = (parseHierPath :: Either PathAbsolute PathRootless -> Either URIPartParseError hierPath, parseHosts :: Parser String hosts, parsePath :: Path -> Either URIPartParseError path, parseQuery :: Query -> Either URIPartParseError query, parseUserInfo :: UserInfo -> Either URIPartParseError userInfo | r)
A row type for describing the options fields used by the absolute URI parser.
Used as Record (AbsoluteURIParseOptions userInfo hosts path hierPath query ())
when type anotating an options record.
Having this options record allows custom representations to be used for
the URI components. If this is not necessary, pure can be used for all
the options aside from parseHosts, which will typically be
HostPortPair.parseHosts pure pure. See URI.HostPortPair
for more information on the host/port pair parser.
#AbsoluteURIPrintOptions
type AbsoluteURIPrintOptions :: Type -> Type -> Type -> Type -> Type -> Row Type -> Row Typetype AbsoluteURIPrintOptions userInfo hosts path hierPath query r = (printHierPath :: hierPath -> Either PathAbsolute PathRootless, printHosts :: hosts -> String, printPath :: path -> Path, printQuery :: query -> Query, printUserInfo :: userInfo -> UserInfo | r)
A row type for describing the options fields used by the absolute URI printer.
Used as Record (AbsoluteURIPrintOptions userInfo hosts path hierPath query ())
when type anotating an options record.
As a reverse of the parse options, this specifies how to print values back
from custom representations. If this is not necessary, identity can be used for
all the options aside from printHosts, which will typically be
HostPortPair.printHosts identity identity. See URI.HostPortPair
for more information on the host/port pair printer.
#parser
parser :: forall userInfo hosts path hierPath query r. Record (AbsoluteURIParseOptions userInfo hosts path hierPath query r) -> Parser String (AbsoluteURI userInfo hosts path hierPath query)A parser for an absolute URI.
print :: forall userInfo hosts path hierPath query r. Record (AbsoluteURIPrintOptions userInfo hosts path hierPath query r) -> AbsoluteURI userInfo hosts path hierPath query -> StringA printer for an absolute URI.
#_scheme
_scheme :: forall userInfo hosts path hierPath query. Lens' (AbsoluteURI userInfo hosts path hierPath query) SchemeThe scheme component of an absolute URI.
#_hierPart
_hierPart :: forall userInfo hosts path hierPath query. Lens' (AbsoluteURI userInfo hosts path hierPath query) (HierarchicalPart userInfo hosts path hierPath)The hierarchical-part component of an absolute URI.
#_query
_query :: forall userInfo hosts path hierPath query. Lens' (AbsoluteURI userInfo hosts path hierPath query) (Maybe query)The query component of an absolute URI.
Re-exports from URI.HierarchicalPart
#UserInfo
newtype UserInfoThe user info part of an Authority. For example: user, foo:bar.
This type treats the entire string as an undifferentiated blob, if you
would like to specifically deal with the user:password format, take a
look at URI.Extra.UserPassInfo.
Instances
#RegName
#PathRootless
newtype PathRootlessA relative path, corresponding to path-rootless in the spec. This path
cannot start with the character / or be entirely empty. This type can
appear in a hierarchical-part when there is no authority component.
Constructors
Instances
#PathAbsolute
newtype PathAbsoluteAn absolute path, corresponding to path-absolute in the spec. This path
cannot represent the value // - it must either be /, or start with a
segment that is not empty, for example: /something, /., /... This
type can appear in both hierarchical-part and relative-parts to represent
an absolute path when no authority component is present.
This restriction exists as a value begining with // at this point in the
grammar must be an authority, attempting to decide whether a value is an
authority or a path would be ambiguous if // paths were allowed. The //
path means the same thing as / anyway!
Constructors
Instances
#Path
newtype PathA generic absolute-or-empty path, used in both hierarchical-part and relative-parts when an authority component is present. Corresponds to path-abempty in the spec.
A path value of / corresponds to Path [""], an empty path is Path [].
Constructors
Instances
#IPv6Address
newtype IPv6AddressThis type and parser are much too forgiving currently, allowing almost anything through that looks vaguely IPv6ish.
Instances
#IPv4Address
#HierarchicalPartPrintOptions
type HierarchicalPartPrintOptions :: Type -> Type -> Type -> Type -> Row Type -> Row Typetype HierarchicalPartPrintOptions userInfo hosts path hierPath r = (printHierPath :: hierPath -> HierPath, printHosts :: hosts -> String, printPath :: path -> Path, printUserInfo :: userInfo -> UserInfo | r)
A row type for describing the options fields used by the hierarchical-part printer.
Used as Record (HierarchicalPartPrintOptions userInfo hosts path hierPath ())
when type anotating an options record.
#HierarchicalPartParseOptions
type HierarchicalPartParseOptions :: Type -> Type -> Type -> Type -> Row Type -> Row Typetype HierarchicalPartParseOptions userInfo hosts path hierPath r = (parseHierPath :: HierPath -> Either URIPartParseError hierPath, parseHosts :: Parser String hosts, parsePath :: Path -> Either URIPartParseError path, parseUserInfo :: UserInfo -> Either URIPartParseError userInfo | r)
A row type for describing the options fields used by the hierarchical-part parser.
Used as Record (HierarchicalPartParseOptions userInfo hosts path hierPath ())
when type anotating an options record.
#HierarchicalPartOptions
type HierarchicalPartOptions :: Type -> Type -> Type -> Type -> Row Typetype HierarchicalPartOptions userInfo hosts path hierPath = HierarchicalPartParseOptions userInfo hosts path hierPath (HierarchicalPartPrintOptions userInfo hosts path hierPath ())
A row type for describing the options fields used by the hierarchical-part parser and printer.
Used as Record (HierarchicalPartOptions userInfo hosts path hierPath)
when type anotating an options record.
#HierarchicalPart
data HierarchicalPart userInfo hosts path hierPathThe "hierarchical part" of a generic or absolute URI. This combines an authority (optional) with a path value.
When the authority is present a generic path representation can be used, otherwise there are some restrictions on the path construction to ensure no ambiguity in parsing (this is per the spec, not a restriction of the library).
Constructors
HierarchicalPartAuth (Authority userInfo hosts) pathHierarchicalPartNoAuth (Maybe hierPath)
Instances
(Eq userInfo, Eq hosts, Eq path, Eq hierPath) => Eq (HierarchicalPart userInfo hosts path hierPath)(Ord userInfo, Ord hosts, Ord path, Ord hierPath) => Ord (HierarchicalPart userInfo hosts path hierPath)Generic (HierarchicalPart userInfo hosts path hierPath) _(Show userInfo, Show hosts, Show path, Show hierPath) => Show (HierarchicalPart userInfo hosts path hierPath)
#HierPath
type HierPath = Either PathAbsolute PathRootlessThe specific path types supported in a hierarchical-part when there is no
authority present. See URI.Path.Absolute and
URI.Path.Rootless for an explanation of these
forms.
#AuthorityPrintOptions
type AuthorityPrintOptions :: Type -> Type -> Row Type -> Row Typetype AuthorityPrintOptions userInfo hosts r = (printHosts :: hosts -> String, printUserInfo :: userInfo -> UserInfo | r)
A row type for describing the options fields used by the authority printer.
Used as Record (AuthorityPrintOptions userInfo hosts ()) when type
annotating an options record.
#AuthorityParseOptions
type AuthorityParseOptions :: Type -> Type -> Row Type -> Row Typetype AuthorityParseOptions userInfo hosts r = (parseHosts :: Parser String hosts, parseUserInfo :: UserInfo -> Either URIPartParseError userInfo | r)
A row type for describing the options fields used by the authority parser.
Used as Record (AuthorityParseOptions userInfo hosts ()) when type
annotating an options record.
#AuthorityOptions
type AuthorityOptions :: Type -> Type -> Row Typetype AuthorityOptions userInfo hosts = AuthorityParseOptions userInfo hosts (AuthorityPrintOptions userInfo hosts ())
A row type for describing the options fields used by the authority parser and printer.
Used as Record (AuthorityOptions userInfo hosts) when type annotating an
options record.
#Authority
data Authority userInfo hostsThe authority part of a URI. For example: purescript.org,
localhost:3000, user@example.net.
Constructors
Instances
#_userInfo
#_path
_path :: forall userInfo hosts path hierPath. Traversal' (HierarchicalPart userInfo hosts path hierPath) pathAn affine traversal for the path component of a hierarchical-part, this succeeds when the authority is present also.
#_hosts
#_hierPath
_hierPath :: forall userInfo hosts path hierPath. Traversal' (HierarchicalPart userInfo hosts path hierPath) (Maybe hierPath)An affine traversal for the path component of a hierarchical-part, this succeeds when the authority is not present.
#_authority
_authority :: forall userInfo hosts path hierPath. Traversal' (HierarchicalPart userInfo hosts path hierPath) (Authority userInfo hosts)An affine traversal for the authority component of a hierarchical-part.
#_NameAddress
_NameAddress :: Prism' Host RegNameA prism for the NameAddress constructor.
#_IPv6Address
_IPv6Address :: Prism' Host IPv6AddressA prism for the IPv6Address constructor.
#_IPv4Address
_IPv4Address :: Prism' Host IPv4AddressA prism for the IPv4Address constructor.
Re-exports from URI.Query
#Query
Re-exports from URI.Scheme
Packages
assert
catenable-lists
const
convertable-options
datetime-parsing
debug
distributive
erl-atom
erl-gun
erl-lager
erl-logger
erl-maps
erl-modules
erl-nativerefs
erl-opentelemetry
- OpenTelemetry.Metrics
- OpenTelemetry.Metrics.Counter
- OpenTelemetry.Metrics.Meter
- OpenTelemetry.Metrics.SumObserver
- OpenTelemetry.Metrics.UpDownCounter
- OpenTelemetry.Metrics.UpDownSumObserver
- OpenTelemetry.Metrics.ValueObserver
- OpenTelemetry.Metrics.ValueRecorder
- OpenTelemetry.Tracing
- OpenTelemetry.Tracing.Baggage
- OpenTelemetry.Tracing.Ctx
- OpenTelemetry.Tracing.Propagator.TextMap
- OpenTelemetry.Tracing.Span
- OpenTelemetry.Tracing.Tracer
- Tracing.Attributes
erl-process
erl-queue
erl-ranch
erl-simplebus
erl-ssl
erl-test-eunit
erl-test-eunit-discovery
erl-tuples
erl-untagged-union
exceptions
exists
expect-inferred
functions
graphs
heterogeneous
identity
integers
invariant
js-uri
lazy
lcg
math
media-types
newtype
nonempty
nullable
ordered-collections
partial
prelude
- Control.Applicative
- Control.Apply
- Control.Bind
- Control.Category
- Control.Monad
- Control.Semigroupoid
- Data.Boolean
- Data.BooleanAlgebra
- Data.Bounded
- Data.Bounded.Generic
- Data.CommutativeRing
- Data.DivisionRing
- Data.Eq
- Data.Eq.Generic
- Data.EuclideanRing
- Data.Field
- Data.Function
- Data.Functor
- Data.Generic.Rep
- Data.HeytingAlgebra
- Data.HeytingAlgebra.Generic
- Data.Monoid
- Data.Monoid.Additive
- Data.Monoid.Conj
- Data.Monoid.Disj
- Data.Monoid.Dual
- Data.Monoid.Endo
- Data.Monoid.Generic
- Data.Monoid.Multiplicative
- Data.NaturalTransformation
- Data.Ord
- Data.Ord.Generic
- Data.Ordering
- Data.Ring
- Data.Ring.Generic
- Data.Semigroup
- Data.Semigroup.First
- Data.Semigroup.Generic
- Data.Semigroup.Last
- Data.Semiring
- Data.Semiring.Generic
- Data.Show
- Data.Show.Generic
- Data.Symbol
- Data.Unit
- Data.Void
- Record.Unsafe
- Type.Data.Row
- Type.Data.RowList
- Type.Proxy
profunctor-lenses
- Data.Lens.AffineTraversal
- Data.Lens.At
- Data.Lens.Common
- Data.Lens.Fold
- Data.Lens.Fold.Partial
- Data.Lens.Getter
- Data.Lens.Grate
- Data.Lens.Index
- Data.Lens.Indexed
- Data.Lens.Internal.Bazaar
- Data.Lens.Internal.Exchange
- Data.Lens.Internal.Focusing
- Data.Lens.Internal.Forget
- Data.Lens.Internal.Grating
- Data.Lens.Internal.Indexed
- Data.Lens.Internal.Market
- Data.Lens.Internal.Re
- Data.Lens.Internal.Shop
- Data.Lens.Internal.Stall
- Data.Lens.Internal.Tagged
- Data.Lens.Internal.Wander
- Data.Lens.Internal.Zipping
- Data.Lens.Iso
- Data.Lens.Iso.Newtype
- Data.Lens.Lens
- Data.Lens.Lens.Product
- Data.Lens.Lens.Tuple
- Data.Lens.Lens.Unit
- Data.Lens.Lens.Void
- Data.Lens.Prism
- Data.Lens.Prism.Coproduct
- Data.Lens.Prism.Either
- Data.Lens.Prism.Maybe
- Data.Lens.Record
- Data.Lens.Setter
- Data.Lens.Traversal
- Data.Lens.Types
- Data.Lens.Zoom
psci-support
quickcheck-laws
- Test.QuickCheck.Laws
- Test.QuickCheck.Laws.Control.Alt
- Test.QuickCheck.Laws.Control.Alternative
- Test.QuickCheck.Laws.Control.Applicative
- Test.QuickCheck.Laws.Control.Apply
- Test.QuickCheck.Laws.Control.Bind
- Test.QuickCheck.Laws.Control.Category
- Test.QuickCheck.Laws.Control.Comonad
- Test.QuickCheck.Laws.Control.Extend
- Test.QuickCheck.Laws.Control.Monad
- Test.QuickCheck.Laws.Control.MonadPlus
- Test.QuickCheck.Laws.Control.MonadZero
- Test.QuickCheck.Laws.Control.Plus
- Test.QuickCheck.Laws.Control.Semigroupoid
- Test.QuickCheck.Laws.Data.BooleanAlgebra
- Test.QuickCheck.Laws.Data.Bounded
- Test.QuickCheck.Laws.Data.BoundedEnum
- Test.QuickCheck.Laws.Data.CommutativeRing
- Test.QuickCheck.Laws.Data.DivisionRing
- Test.QuickCheck.Laws.Data.Eq
- Test.QuickCheck.Laws.Data.EuclideanRing
- Test.QuickCheck.Laws.Data.Field
- Test.QuickCheck.Laws.Data.Foldable
- Test.QuickCheck.Laws.Data.Functor
- Test.QuickCheck.Laws.Data.FunctorWithIndex
- Test.QuickCheck.Laws.Data.HeytingAlgebra
- Test.QuickCheck.Laws.Data.Monoid
- Test.QuickCheck.Laws.Data.Ord
- Test.QuickCheck.Laws.Data.Ring
- Test.QuickCheck.Laws.Data.Semigroup
- Test.QuickCheck.Laws.Data.Semiring
random
rationals
record-prefix
refs
safe-coerce
semirings
simple-json
strings
- Data.Char
- Data.Char.Gen
- Data.String.CaseInsensitive
- Data.String.CodePoints
- Data.String.CodeUnits
- Data.String.Common
- Data.String.Gen
- Data.String.NonEmpty.CaseInsensitive
- Data.String.NonEmpty.CodePoints
- Data.String.NonEmpty.CodeUnits
- Data.String.NonEmpty.Internal
- Data.String.Pattern
- Data.String.Regex
- Data.String.Regex.Flags
- Data.String.Regex.Unsafe
- Data.String.Unsafe
tailrec
transformers
- Control.Comonad.Env
- Control.Comonad.Env.Class
- Control.Comonad.Env.Trans
- Control.Comonad.Store
- Control.Comonad.Store.Class
- Control.Comonad.Store.Trans
- Control.Comonad.Traced
- Control.Comonad.Traced.Class
- Control.Comonad.Traced.Trans
- Control.Comonad.Trans.Class
- Control.Monad.Cont
- Control.Monad.Cont.Class
- Control.Monad.Cont.Trans
- Control.Monad.Error.Class
- Control.Monad.Except
- Control.Monad.Except.Trans
- Control.Monad.Identity.Trans
- Control.Monad.List.Trans
- Control.Monad.Maybe.Trans
- Control.Monad.RWS
- Control.Monad.RWS.Trans
- Control.Monad.Reader
- Control.Monad.Reader.Class
- Control.Monad.Reader.Trans
- Control.Monad.State
- Control.Monad.State.Class
- Control.Monad.State.Trans
- Control.Monad.Trans.Class
- Control.Monad.Writer
- Control.Monad.Writer.Class
- Control.Monad.Writer.Trans
type-equality
undefinable
unfoldable
unsafe-coerce
unsafe-reference
uri
- URI.AbsoluteURI
- URI.Authority
- URI.Common
- URI.Extra.MultiHostPortPair
- URI.Extra.QueryPairs
- URI.Extra.UserPassInfo
- URI.Fragment
- URI.HierarchicalPart
- URI.Host
- URI.Host.Gen
- URI.Host.IPv4Address
- URI.Host.IPv6Address
- URI.Host.RegName
- URI.HostPortPair
- URI.HostPortPair.Gen
- URI.Path
- URI.Path.Absolute
- URI.Path.NoScheme
- URI.Path.Rootless
- URI.Path.Segment
- URI.Port
- URI.Port.Gen
- URI.Query
- URI.RelativePart
- URI.RelativeRef
- URI.Scheme
- URI.Scheme.Common
- URI.URI
- URI.URIRef
- URI.UserInfo