Safe Haskell | None |
---|---|
Language | Haskell98 |
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 {}
- data URIAuth = URIAuth {
- uriUserInfo :: String
- uriRegName :: String
- uriPort :: String
- data URIError
- 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 #
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 #
parseRelativeReference :: String -> Maybe URI #
parseURIReference :: String -> Maybe URI #
parseURI :: String -> Maybe URI #
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:
Instances
Eq URI | |
Data URI | |
Defined in Network.URI 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 :: (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 | |
NFData URI | |
Defined in Network.URI | |
Arbitrary URI Source # | |
type Rep URI | |
Defined in Network.URI type Rep URI = D1 (MetaData "URI" "Network.URI" "network-uri-2.6.2.0-LHnNi9N4lmbFWCwIyvTSKY" 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
URIAuth | |
|
Instances
Eq URIAuth | |
Data URIAuth | |
Defined in Network.URI 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 # toConstr :: URIAuth -> Constr # 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 :: (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 | |
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.2.0-LHnNi9N4lmbFWCwIyvTSKY" 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)))) |
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.
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 #
fromParseError :: ParseError -> e Source #
Instances
HasParseError ParseError Source # | |
Defined in Debian.URI |
class HasURIError e where Source #
fromURIError :: URIError -> e Source #
Instances
HasURIError URIError Source # | |
Defined in Debian.URI fromURIError :: URIError -> URIError Source # |
QuickCheck properties
prop_print_parse :: URI -> Bool Source #
prop_append_singleton :: URI -> Bool Source #
Orphan instances
Ord ParseError Source # | |
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 # | |