Module

URI

Re-exports from URI.AbsoluteURI

#AbsoluteURI

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

Instances

Re-exports from URI.Authority

#Authority

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

#Fragment

newtype Fragment

The fragment component (hash) of a URI.

Instances

Re-exports from URI.HierarchicalPart

#HierarchicalPart

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

Instances

#HierPath

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

#RegName

newtype RegName

The reg-name variation of the host part of a URI. A reg-name is probably more commonly referred to as just a host name or domain name (but it is actually a name, rather than an IP address).

Instances

#IPv6Address

newtype IPv6Address

This type and parser are much too forgiving currently, allowing almost anything through that looks vaguely IPv6ish.

Instances

#IPv4Address

data IPv4Address

The IPv4 address variation of the host part of a URI.

Instances

#Host

data Host

A host address. Supports named addresses, IPv4, and IPv6.

Constructors

Instances

Re-exports from URI.Path

#Path

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

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

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

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

#Port

newtype Port

The port component of a host in a URI.

Instances

Re-exports from URI.Query

#Query

newtype Query

The query component of a URI.

This type treats the entire string as an undifferentiated blob, if you would like to deal with the common ?key1=value1&key2=value2 format, take a look at URI.Extra.QueryPairs.

Instances

Re-exports from URI.RelativePart

#RelativePart

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

Instances

#RelPath

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

data RelativeRef userInfo hosts path relPath query fragment

A relative URI. Relative in the sense that it lacks a Scheme component.

Constructors

Instances

Re-exports from URI.Scheme

#Scheme

newtype Scheme

The scheme part of an absolute URI. For example: http, ftp, git.

Instances

Re-exports from URI.URI

#URI

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

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

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

#UserInfo

newtype UserInfo

The 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

Modules