| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Debian.URI
Synopsis
- data URIAuth = URIAuth {
- uriUserInfo :: String
- uriRegName :: String
- uriPort :: String
- data URI = URI {
- uriScheme :: String
- uriAuthority :: Maybe URIAuth
- uriPath :: String
- uriQuery :: String
- uriFragment :: String
- nullURI :: URI
- parseURI :: String -> Maybe URI
- parseURIReference :: String -> Maybe URI
- parseRelativeReference :: String -> Maybe URI
- parseAbsoluteURI :: String -> Maybe URI
- uriToString :: (String -> String) -> URI -> ShowS
- 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
Type for authority value within a URI
Constructors
| URIAuth | |
Fields
| |
Instances
| NFData URIAuth | |||||
Defined in Network.URI | |||||
| 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 | |||||
| Generic URIAuth | |||||
Defined in Network.URI Associated Types
| |||||
| Show URIAuth | |||||
| Eq URIAuth | |||||
| Ord URIAuth | |||||
| Lift URIAuth | |||||
| type Rep URIAuth | |||||
Defined in Network.URI type Rep URIAuth = D1 ('MetaData "URIAuth" "Network.URI" "network-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1" '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)))) | |||||
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
| NFData URI | |||||
Defined in Network.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 | |||||
| Generic URI | |||||
Defined in Network.URI Associated Types
| |||||
| Show URI | |||||
| Eq URI | |||||
| Ord URI | |||||
| Lift URI | |||||
| type Rep URI | |||||
Defined in Network.URI type Rep URI = D1 ('MetaData "URI" "Network.URI" "network-uri-2.6.4.2-BXV0MtFcaF6BxSkElkpvb1" '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))))) | |||||
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.
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).
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).
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).
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.
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 | |