URI
- Package
- purescript-uri
- Repository
- purescript-contrib/purescript-uri
Re-exports from URI.AbsoluteURI
#AbsoluteURI Source
data AbsoluteURI userInfo hosts path hierPath query
A 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)
Re-exports from URI.Authority
#Authority Source
data Authority userInfo hosts
The authority part of a URI. For example: purescript.org
,
localhost:3000
, user@example.net
.
Constructors
Instances
Re-exports from URI.Fragment
Re-exports from URI.HierarchicalPart
#HierarchicalPart Source
data HierarchicalPart userInfo hosts path hierPath
The "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) path
HierarchicalPartNoAuth (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 Source
type HierPath = Either PathAbsolute PathRootless
The 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.
Re-exports from URI.Host
#IPv6Address Source
newtype IPv6Address
This type and parser are much too forgiving currently, allowing almost anything through that looks vaguely IPv6ish.
Instances
#IPv4Address Source
#Host Source
Re-exports from URI.Path
#Path Source
newtype Path
A 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
Re-exports from URI.Path.Absolute
#PathAbsolute Source
newtype PathAbsolute
An 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
Re-exports from URI.Path.NoScheme
#PathNoScheme Source
newtype PathNoScheme
A relative path that doesn't look like a URI scheme, corresponding to
path-noscheme in the spec. This path cannot start with the character
/
, contain the character :
before the first /
, or be entirely empty.
This type can appear in a relative-part when there is no authority
component.
Constructors
Instances
Re-exports from URI.Path.Rootless
#PathRootless Source
newtype PathRootless
A 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
Re-exports from URI.Port
Re-exports from URI.Query
Re-exports from URI.RelativePart
#RelativePart Source
data RelativePart userInfo hosts path relPath
The "relative part" of a relative reference. 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
RelativePartAuth (Authority userInfo hosts) path
RelativePartNoAuth (Maybe relPath)
Instances
(Eq userInfo, Eq hosts, Eq path, Eq relPath) => Eq (RelativePart userInfo hosts path relPath)
(Ord userInfo, Ord hosts, Ord path, Ord relPath) => Ord (RelativePart userInfo hosts path relPath)
Generic (RelativePart userInfo hosts path relPath) _
(Show userInfo, Show hosts, Show path, Show relPath) => Show (RelativePart userInfo hosts path relPath)
#RelPath Source
type RelPath = Either PathAbsolute PathNoScheme
The specific path types supported in a relative-part when there is no
authority present. See URI.Path.Absolute
and
URI.Path.PathNoScheme
for an explanation of
these forms.
Re-exports from URI.RelativeRef
#RelativeRef Source
data RelativeRef userInfo hosts path relPath query fragment
A relative URI. Relative in the sense that it lacks a Scheme
component.
Constructors
RelativeRef (RelativePart userInfo hosts path relPath) (Maybe query) (Maybe fragment)
Instances
(Eq userInfo, Eq hosts, Eq path, Eq relPath, Eq query, Eq fragment) => Eq (RelativeRef userInfo hosts path relPath query fragment)
(Ord userInfo, Ord hosts, Ord path, Ord relPath, Ord query, Ord fragment) => Ord (RelativeRef userInfo hosts path relPath query fragment)
Generic (RelativeRef userInfo hosts path relPath query fragment) _
(Show userInfo, Show hosts, Show path, Show relPath, Show query, Show fragment) => Show (RelativeRef userInfo hosts path relPath query fragment)
Re-exports from URI.Scheme
Re-exports from URI.URI
#URI Source
data URI userInfo hosts path hierPath query fragment
A general purpose absolute URI - similar to AbsoluteURI
but also admits
a fragment component. An absolute URI can still contain relative paths
but is required to have a Scheme
component.
Constructors
URI Scheme (HierarchicalPart userInfo hosts path hierPath) (Maybe query) (Maybe fragment)
Instances
(Eq userInfo, Eq hosts, Eq path, Eq hierPath, Eq query, Eq fragment) => Eq (URI userInfo hosts path hierPath query fragment)
(Ord userInfo, Ord hosts, Ord path, Ord hierPath, Ord query, Ord fragment) => Ord (URI userInfo hosts path hierPath query fragment)
Generic (URI userInfo hosts path hierPath query fragment) _
(Show userInfo, Show hosts, Show path, Show hierPath, Show query, Show fragment) => Show (URI userInfo hosts path hierPath query fragment)
Re-exports from URI.URIRef
#URIRef Source
type URIRef userInfo hosts path hierPath relPath query fragment = Either (URI userInfo hosts path hierPath query fragment) (RelativeRef userInfo hosts path relPath query fragment)
The most general kind of URI, can either be relative or absolute.
Re-exports from URI.UserInfo
- Modules
- 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