Safe Haskell | None |
---|---|
Language | Haskell98 |
Debian.URI
Synopsis
- uriToString :: (String -> String) -> URI -> ShowS
- parseAbsoluteURI :: String -> Maybe URI
- parseRelativeReference :: String -> Maybe URI
- parseURIReference :: String -> Maybe URI
- parseURI :: String -> Maybe URI
- nullURI :: URI
- data URI = URI {
- uriScheme :: String
- uriAuthority :: Maybe URIAuth
- uriPath :: String
- uriQuery :: String
- uriFragment :: String
- data URIAuth = URIAuth {
- uriUserInfo :: String
- uriRegName :: String
- uriPort :: String
- data URIError
- = URIParseError String String
- | URIAppendError URI URI
- uriSchemeLens :: Lens' URI String
- uriAuthorityLens :: Lens' URI (Maybe URIAuth)
- uriPathLens :: Lens' URI String
- uriQueryLens :: Lens' URI String
- uriFragmentLens :: Lens' URI String
- newtype URI' = URI' String
- fromURI' :: URI' -> URI
- toURI' :: URI -> URI'
- readURI' :: String -> Maybe URI'
- showURI :: URI -> String
- parseURIReference' :: (HasURIError e, MonadError e m) => String -> m URI
- parseURI' :: (HasURIError e, MonadError e m) => String -> m URI
- parseAbsoluteURI' :: (HasURIError e, MonadError e m) => String -> m URI
- parseRelativeReference' :: (HasURIError e, MonadError e m) => String -> m URI
- parseURIUnsafe :: String -> URI
- appendURI :: MonadError URIError m => URI -> URI -> m URI
- appendURIs :: (Foldable t, MonadError URIError m) => t URI -> m URI
- parentURI :: URI -> URI
- uriToString' :: URI -> String
- class HasParseError e where
- fromParseError :: ParseError -> e
- class HasURIError e where
- fromURIError :: URIError -> e
- prop_print_parse :: URI -> Bool
- prop_append_singleton :: URI -> Bool
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.
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 | |
Data URI | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c URI dataTypeOf :: URI -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c URI) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c URI) gmapT :: (forall b. Data b => b -> b) -> URI -> URI gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> URI -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> URI -> r gmapQ :: (forall d. Data d => d -> u) -> URI -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> URI -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> URI -> m URI gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> URI -> m URI gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> URI -> m URI | |
Ord URI | |
Show URI | |
Generic URI | |
Lift URI | |
Defined in Network.URI | |
Arbitrary URI Source # | |
NFData URI | |
Defined in Network.URI | |
type Rep URI | |
Defined in Network.URI type Rep URI = D1 ('MetaData "URI" "Network.URI" "network-uri-2.6.3.0-CPjS2hnZr1IIlGhZ1dITqG" 'False) (C1 ('MetaCons "URI" 'PrefixI 'True) ((S1 ('MetaSel ('Just "uriScheme") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "uriAuthority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe URIAuth))) :*: (S1 ('MetaSel ('Just "uriPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "uriQuery") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "uriFragment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) |
Type for authority value within a URI
Constructors
URIAuth | |
Fields
|
Instances
Eq URIAuth | |
Data URIAuth | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c URIAuth dataTypeOf :: URIAuth -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c URIAuth) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c URIAuth) gmapT :: (forall b. Data b => b -> b) -> URIAuth -> URIAuth gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> URIAuth -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> URIAuth -> r gmapQ :: (forall d. Data d => d -> u) -> URIAuth -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> URIAuth -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> URIAuth -> m URIAuth | |
Ord URIAuth | |
Show URIAuth | |
Generic URIAuth | |
Lift URIAuth | |
Defined in Network.URI | |
NFData URIAuth | |
Defined in Network.URI | |
type Rep URIAuth | |
Defined in Network.URI type Rep URIAuth = D1 ('MetaData "URIAuth" "Network.URI" "network-uri-2.6.3.0-CPjS2hnZr1IIlGhZ1dITqG" 'False) (C1 ('MetaCons "URIAuth" 'PrefixI 'True) (S1 ('MetaSel ('Just "uriUserInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "uriRegName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "uriPort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) |
Constructors
URIParseError String String | |
URIAppendError URI URI |
uriSchemeLens :: Lens' URI String Source #
uriPathLens :: Lens' URI String Source #
uriQueryLens :: Lens' URI String Source #
uriFragmentLens :: Lens' URI String Source #
String known to parsable by parseURIReference. Mainly
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 |
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.
parseURIReference' :: (HasURIError e, MonadError e m) => String -> m URI Source #
parseURI' :: (HasURIError e, MonadError e m) => String -> m URI Source #
parseURI with MonadError
parseAbsoluteURI' :: (HasURIError e, MonadError e m) => String -> m URI Source #
parseRelativeReference' :: (HasURIError e, MonadError e m) => String -> m URI Source #
parseURIUnsafe :: String -> URI Source #
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")
uriToString' :: URI -> String Source #
Lift IO operations into a MonadError instance
class HasParseError e where Source #
Methods
fromParseError :: ParseError -> e Source #
Instances
HasParseError ParseError Source # | |
Defined in Debian.URI Methods fromParseError :: ParseError -> ParseError Source # |
class HasURIError e where Source #
Methods
fromURIError :: URIError -> e Source #
Instances
HasURIError URIError Source # | |
Defined in Debian.URI Methods fromURIError :: URIError -> URIError Source # |
QuickCheck properties
prop_print_parse :: URI -> Bool Source #
prop_append_singleton :: URI -> Bool Source #
Orphan instances
Ord ParseError Source # | |
Methods compare :: ParseError -> ParseError -> Ordering (<) :: ParseError -> ParseError -> Bool (<=) :: ParseError -> ParseError -> Bool (>) :: ParseError -> ParseError -> Bool (>=) :: ParseError -> ParseError -> Bool max :: ParseError -> ParseError -> ParseError min :: ParseError -> ParseError -> ParseError | |
Arbitrary URI Source # | |