debian-3.95: Modules for working with the Debian package system

Safe HaskellNone
LanguageHaskell98

Debian.URI

Contents

Synopsis

Documentation

uriToString :: (String -> String) -> URI -> ShowS Source #

Turn a URI into a string.

Uses a supplied function to map the userinfo part of the URI.

The Show instance for URI uses a mapping that hides any password that may be present in the URI. Use this function with argument id to preserve the password in the formatted output.

parseAbsoluteURI :: String -> Maybe URI Source #

Parse an absolute URI to a URI value. Returns Nothing if the string is not a valid absolute URI. (an absolute URI without a fragment identifier).

parseRelativeReference :: String -> Maybe URI Source #

Parse a relative URI to a URI value. Returns Nothing if the string is not a valid relative URI. (a relative URI with optional fragment identifier).

parseURIReference :: String -> Maybe URI Source #

Parse a URI reference to a URI value. Returns Nothing if the string is not a valid URI reference. (an absolute or relative URI with optional fragment identifier).

parseURI :: String -> Maybe URI Source #

Turn a string containing a URI into a URI. Returns Nothing if the string is not a valid URI; (an absolute URI with optional fragment identifier).

NOTE: this is different from the previous network.URI, whose parseURI function works like parseURIReference in this module.

nullURI :: URI Source #

Blank URI

data URI Source #

Represents a general universal resource identifier using its component parts.

For example, for the URI

  foo://anonymous@www.haskell.org:42/ghc?query#frag

the components are:

Constructors

URI 

Fields

Instances
Eq URI 
Instance details

Defined in Network.URI

Methods

(==) :: URI -> URI -> Bool Source #

(/=) :: URI -> URI -> Bool Source #

Data URI 
Instance details

Defined in Network.URI

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> URI -> c URI Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c URI Source #

toConstr :: URI -> Constr Source #

dataTypeOf :: URI -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c URI) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c URI) Source #

gmapT :: (forall b. Data b => b -> b) -> URI -> URI Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> URI -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> URI -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> URI -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> URI -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> URI -> m URI Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> URI -> m URI Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> URI -> m URI Source #

Ord URI 
Instance details

Defined in Network.URI

Methods

compare :: URI -> URI -> Ordering Source #

(<) :: URI -> URI -> Bool Source #

(<=) :: URI -> URI -> Bool Source #

(>) :: URI -> URI -> Bool Source #

(>=) :: URI -> URI -> Bool Source #

max :: URI -> URI -> URI Source #

min :: URI -> URI -> URI Source #

Show URI 
Instance details

Defined in Network.URI

Generic URI 
Instance details

Defined in Network.URI

Associated Types

type Rep URI :: Type -> Type Source #

Methods

from :: URI -> Rep URI x Source #

to :: Rep URI x -> URI Source #

NFData URI 
Instance details

Defined in Network.URI

Methods

rnf :: URI -> () Source #

Arbitrary URI Source # 
Instance details

Defined in Debian.URI

type Rep URI 
Instance details

Defined in Network.URI

data URIAuth Source #

Type for authority value within a URI

Constructors

URIAuth 

Fields

Instances
Eq URIAuth 
Instance details

Defined in Network.URI

Data URIAuth 
Instance details

Defined in Network.URI

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> URIAuth -> c URIAuth Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c URIAuth Source #

toConstr :: URIAuth -> Constr Source #

dataTypeOf :: URIAuth -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c URIAuth) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c URIAuth) Source #

gmapT :: (forall b. Data b => b -> b) -> URIAuth -> URIAuth Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> URIAuth -> r Source #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> URIAuth -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> URIAuth -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> URIAuth -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth Source #

Ord URIAuth 
Instance details

Defined in Network.URI

Show URIAuth 
Instance details

Defined in Network.URI

NFData URIAuth 
Instance details

Defined in Network.URI

Methods

rnf :: URIAuth -> () Source #

String known to parsable by parseURIReference. Mainly

newtype URI' Source #

A wrapper around a String containing a known parsable URI. Not absolutely safe, because you could say read "URI' "bogus string"" :: URI'. But enough to save me from myself.

Constructors

URI' String 
Instances
Eq URI' Source # 
Instance details

Defined in Debian.URI

Methods

(==) :: URI' -> URI' -> Bool Source #

(/=) :: URI' -> URI' -> Bool Source #

Ord URI' Source # 
Instance details

Defined in Debian.URI

Read URI' Source # 
Instance details

Defined in Debian.URI

Show URI' Source # 
Instance details

Defined in Debian.URI

toURI' :: URI -> URI' Source #

Using the bogus Show instance of URI here. If it ever gets fixed this will stop working. Worth noting that show will obscure any password info embedded in the URI, so that's nice.

parseURI' :: (HasURIError e, MonadError e m) => String -> m URI Source #

parseURI with MonadError

appendURI :: MonadError URIError m => URI -> URI -> m URI Source #

Conservative appending of absolute and relative URIs. There may be other cases that can be implemented, lets see if they turn up.

appendURIs :: (Foldable t, MonadError URIError m) => t URI -> m URI Source #

Append a list of URI @@ λ> appendURIs (parseURI "http://host.com") (parseURIRelative "/bar")

Lift IO operations into a MonadError instance

class HasParseError e where Source #

Instances
HasParseError ParseError Source # 
Instance details

Defined in Debian.URI

class HasURIError e where Source #

Methods

fromURIError :: URIError -> e Source #

Instances
HasURIError URIError Source # 
Instance details

Defined in Debian.URI

QuickCheck properties

Orphan instances