| Copyright | (c) Athan L. Clark |
|---|---|
| License | MIT |
| Maintainer | Athan L. Clark <athan.clark@gmail.com> |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Url
Description
This library helps us distinguish how we present URLs - we might show them
relatively, absolutely (with the URI authority - scheme, port, hostname, etc.),
or grounded - where the path begins with /.
We leverage Chris Done's path library to distinguish relative vs. grounded paths at compile time, and provide some additional features like a file extension and query parameters in path-extra.
- class MonadUrl base type' m where
- data UrlAuthority = UrlAuthority {}
- showUrlAuthority :: UrlAuthority -> String
- data UrlAuthent = UrlAuthent {}
- showUrlAuthent :: UrlAuthent -> String
- newtype RelativeUrlT m a = RelativeUrlT {
- runRelativeUrlT :: m a
- type RelativeUrl = RelativeUrlT Identity
- newtype GroundedUrlT m a = GroundedUrlT {
- runGroundedUrlT :: m a
- type GroundedUrl = GroundedUrlT Identity
- newtype AbsoluteUrlT m a = AbsoluteUrlT {
- runAbsoluteUrlT :: UrlAuthority -> m a
- type AbsoluteUrl = AbsoluteUrlT Identity
Classes
class MonadUrl base type' m where Source
Turns a Path or Location into a String, where the rendering behavior
(relative, grounded and absolute) is encoded in the monad you use, much like
LoggingT and NoLoggingT from monad-logger.
Instances
Types
data UrlAuthent Source
Constructors
| UrlAuthent | |
Fields
| |
Instances
showUrlAuthent :: UrlAuthent -> String Source
Relative Urls
newtype RelativeUrlT m a Source
Constructors
| RelativeUrlT | |
Fields
| |
Instances
| MonadTrans RelativeUrlT Source | |
| MonadTransControl RelativeUrlT Source | |
| MMonad RelativeUrlT Source | |
| MFunctor RelativeUrlT Source | |
| MonadRWS r w s m => MonadRWS r w s (RelativeUrlT m) Source | |
| Applicative m => MonadUrl Rel File (RelativeUrlT m) Source | |
| Applicative m => MonadUrl Rel Dir (RelativeUrlT m) Source | |
| MonadBase b m => MonadBase b (RelativeUrlT m) Source | |
| MonadError e m => MonadError e (RelativeUrlT m) Source | |
| MonadBaseControl b m => MonadBaseControl b (RelativeUrlT m) Source | |
| MonadReader r m => MonadReader r (RelativeUrlT m) Source | |
| MonadWriter w m => MonadWriter w (RelativeUrlT m) Source | |
| MonadState s m => MonadState s (RelativeUrlT m) Source | |
| Monad m => Monad (RelativeUrlT m) Source | |
| Functor m => Functor (RelativeUrlT m) Source | |
| MonadFix m => MonadFix (RelativeUrlT m) Source | |
| Applicative m => Applicative (RelativeUrlT m) Source | |
| Alternative m => Alternative (RelativeUrlT m) Source | |
| MonadPlus m => MonadPlus (RelativeUrlT m) Source | |
| MonadIO m => MonadIO (RelativeUrlT m) Source | |
| MonadThrow m => MonadThrow (RelativeUrlT m) Source | |
| MonadMask m => MonadMask (RelativeUrlT m) Source | |
| MonadCatch m => MonadCatch (RelativeUrlT m) Source | |
| MonadCont m => MonadCont (RelativeUrlT m) Source | |
| (MonadResource m, MonadBase IO m) => MonadResource (RelativeUrlT m) Source | |
| MonadLogger m => MonadLogger (RelativeUrlT m) Source | |
| Eq (m a) => Eq (RelativeUrlT m a) Source | |
| Ord (m a) => Ord (RelativeUrlT m a) Source | |
| Show (m a) => Show (RelativeUrlT m a) Source | |
| type StT RelativeUrlT a = a Source | |
| type StM (RelativeUrlT m) a = ComposeSt RelativeUrlT m a Source |
type RelativeUrl = RelativeUrlT Identity Source
Grounded Urls
newtype GroundedUrlT m a Source
Constructors
| GroundedUrlT | |
Fields
| |
Instances
| MonadTrans GroundedUrlT Source | |
| MonadTransControl GroundedUrlT Source | |
| MMonad GroundedUrlT Source | |
| MFunctor GroundedUrlT Source | |
| MonadRWS r w s m => MonadRWS r w s (GroundedUrlT m) Source | |
| Applicative m => MonadUrl Abs File (GroundedUrlT m) Source | |
| Applicative m => MonadUrl Abs Dir (GroundedUrlT m) Source | |
| MonadBase b m => MonadBase b (GroundedUrlT m) Source | |
| MonadError e m => MonadError e (GroundedUrlT m) Source | |
| MonadBaseControl b m => MonadBaseControl b (GroundedUrlT m) Source | |
| MonadReader r m => MonadReader r (GroundedUrlT m) Source | |
| MonadWriter w m => MonadWriter w (GroundedUrlT m) Source | |
| MonadState s m => MonadState s (GroundedUrlT m) Source | |
| Monad m => Monad (GroundedUrlT m) Source | |
| Functor m => Functor (GroundedUrlT m) Source | |
| MonadFix m => MonadFix (GroundedUrlT m) Source | |
| Applicative m => Applicative (GroundedUrlT m) Source | |
| Alternative m => Alternative (GroundedUrlT m) Source | |
| MonadPlus m => MonadPlus (GroundedUrlT m) Source | |
| MonadIO m => MonadIO (GroundedUrlT m) Source | |
| MonadThrow m => MonadThrow (GroundedUrlT m) Source | |
| MonadMask m => MonadMask (GroundedUrlT m) Source | |
| MonadCatch m => MonadCatch (GroundedUrlT m) Source | |
| MonadCont m => MonadCont (GroundedUrlT m) Source | |
| (MonadResource m, MonadBase IO m) => MonadResource (GroundedUrlT m) Source | |
| MonadLogger m => MonadLogger (GroundedUrlT m) Source | |
| Eq (m a) => Eq (GroundedUrlT m a) Source | |
| Ord (m a) => Ord (GroundedUrlT m a) Source | |
| Show (m a) => Show (GroundedUrlT m a) Source | |
| type StT GroundedUrlT a = a Source | |
| type StM (GroundedUrlT m) a = ComposeSt GroundedUrlT m a Source |
type GroundedUrl = GroundedUrlT Identity Source
Absolute Urls
newtype AbsoluteUrlT m a Source
Constructors
| AbsoluteUrlT | |
Fields
| |
Instances
| MonadTrans AbsoluteUrlT Source | |
| MonadTransControl AbsoluteUrlT Source | |
| MMonad AbsoluteUrlT Source | |
| MFunctor AbsoluteUrlT Source | |
| MonadRWS r w s m => MonadRWS r w s (AbsoluteUrlT m) Source | |
| Applicative m => MonadUrl Abs File (AbsoluteUrlT m) Source | |
| Applicative m => MonadUrl Abs Dir (AbsoluteUrlT m) Source | |
| MonadBase b m => MonadBase b (AbsoluteUrlT m) Source | |
| MonadError e m => MonadError e (AbsoluteUrlT m) Source | |
| MonadBaseControl b m => MonadBaseControl b (AbsoluteUrlT m) Source | |
| MonadReader r m => MonadReader r (AbsoluteUrlT m) Source | |
| MonadWriter w m => MonadWriter w (AbsoluteUrlT m) Source | |
| MonadState s m => MonadState s (AbsoluteUrlT m) Source | |
| Monad m => Monad (AbsoluteUrlT m) Source | |
| Functor m => Functor (AbsoluteUrlT m) Source | |
| Applicative m => Applicative (AbsoluteUrlT m) Source | |
| MonadIO m => MonadIO (AbsoluteUrlT m) Source | |
| MonadThrow m => MonadThrow (AbsoluteUrlT m) Source | |
| MonadMask m => MonadMask (AbsoluteUrlT m) Source | |
| MonadCatch m => MonadCatch (AbsoluteUrlT m) Source | |
| MonadCont m => MonadCont (AbsoluteUrlT m) Source | |
| MonadResource m => MonadResource (AbsoluteUrlT m) Source | |
| MonadLogger m => MonadLogger (AbsoluteUrlT m) Source | |
| type StT AbsoluteUrlT a = a Source | |
| type StM (AbsoluteUrlT m) a = ComposeSt AbsoluteUrlT m a Source |
type AbsoluteUrl = AbsoluteUrlT Identity Source