This module defines functions for handling URIs. It presents substantially the same interface as the older GHC Network.URI module, but is implemented using Parsec rather than a Regex library that is not available with Hugs. The internal representation of URI has been changed so that URI strings are more completely preserved when round-tripping to a URI value and back.
In addition, four methods are provided for parsing different kinds of URI string (as noted in RFC3986): parseURI, parseURIReference, parseRelativeReference and parseAbsoluteURI.
Further, four methods are provided for classifying different kinds of URI string (as noted in RFC3986): isURI, isURIReference, isRelativeReference and isAbsoluteURI.
The long-standing official reference for URI handling was RFC2396 , as updated by RFC 2732 , but this was replaced by a new specification, RFC3986  in January 2005. This latter specification has been used as the primary reference for constructing the URI parser implemented here, and it is intended that there is a direct relationship between the syntax definition in that document and this parser implementation.
RFC 1808  contains a number of test cases for relative URI handling. Dan Connolly's Python module uripath.py  also contains useful details and test cases.
Some of the code has been copied from the previous GHC implementation, but the parser is replaced with one that performs more complete syntax checking of the URI itself, according to RFC3986 .
Represents a general universal resource identifier using its component parts.
For example, for the URI
> foo://[email protected]:42/ghc?query#frag
the components are:
Type for authority value within a URI
Library for working with URIs, including parsing, rendering, merging, escaping
Read and write URIs
This package is deprecated in favor of uri-conduit.
uri-enumerator backend for the file scheme
A URI template expansion library for Haskell. Provides support for Joe Gregorio's standardized format, OpenSearch 1.1's format + WADL/WSDL-style templates.
uriDefaultTo a b returns a URI that is consistent with the first argument URI a when read in the context of the second URI b. If the second argument is not sufficient context for determining a full URI then anarchy reins.
Show more results