-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Painfully simple URL deployment.
--
-- Painfully simple URL deployment.
@package urlpath
@version 6.0.2
-- | 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.
module Data.Url
-- | 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.
class MonadUrl base type' (m :: * -> *)
pathUrl :: MonadUrl base type' m => Path base type' -> m URI
locUrl :: MonadUrl base type' m => Location base type' -> m URI
newtype RelativeUrlT m a
RelativeUrlT :: m a -> RelativeUrlT m a
[runRelativeUrlT] :: RelativeUrlT m a -> m a
type RelativeUrl = RelativeUrlT Identity
newtype GroundedUrlT m a
GroundedUrlT :: m a -> GroundedUrlT m a
[runGroundedUrlT] :: GroundedUrlT m a -> m a
type GroundedUrl = GroundedUrlT Identity
newtype AbsoluteUrlT m a
AbsoluteUrlT :: (URIAuth -> m a) -> AbsoluteUrlT m a
[runAbsoluteUrlT] :: AbsoluteUrlT m a -> URIAuth -> m a
type AbsoluteUrl = AbsoluteUrlT Identity
mkUriPath :: URIAuth -> Path base type' -> URI
mkUriPathEmpty :: Path base type' -> URI
mkUriLoc :: URIAuth -> Location base type' -> URI
mkUriLocEmpty :: Location base type' -> URI
instance GHC.Base.Functor m => GHC.Base.Functor (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Logger.MonadLogger m => Control.Monad.Logger.MonadLogger (Data.Url.GroundedUrlT m)
instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Data.Url.GroundedUrlT m)
instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Data.Url.GroundedUrlT m)
instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Data.Url.GroundedUrlT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Data.Url.GroundedUrlT m)
instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Data.Url.GroundedUrlT m)
instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Data.Url.GroundedUrlT m)
instance Control.Monad.RWS.Class.MonadRWS r w s m => Control.Monad.RWS.Class.MonadRWS r w s (Data.Url.GroundedUrlT m)
instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Data.Url.GroundedUrlT m)
instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Data.Url.GroundedUrlT m)
instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Data.Url.GroundedUrlT m)
instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Data.Url.GroundedUrlT m)
instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Data.Url.GroundedUrlT m)
instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Data.Url.GroundedUrlT m)
instance GHC.Base.Monad m => GHC.Base.Monad (Data.Url.GroundedUrlT m)
instance GHC.Base.Alternative m => GHC.Base.Alternative (Data.Url.GroundedUrlT m)
instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.Url.GroundedUrlT m)
instance GHC.Base.Functor m => GHC.Base.Functor (Data.Url.GroundedUrlT m)
instance GHC.Classes.Ord (m a) => GHC.Classes.Ord (Data.Url.GroundedUrlT m a)
instance GHC.Classes.Eq (m a) => GHC.Classes.Eq (Data.Url.GroundedUrlT m a)
instance GHC.Show.Show (m a) => GHC.Show.Show (Data.Url.GroundedUrlT m a)
instance Control.Monad.Logger.MonadLogger m => Control.Monad.Logger.MonadLogger (Data.Url.RelativeUrlT m)
instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Data.Url.RelativeUrlT m)
instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Data.Url.RelativeUrlT m)
instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Data.Url.RelativeUrlT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Data.Url.RelativeUrlT m)
instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Data.Url.RelativeUrlT m)
instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Data.Url.RelativeUrlT m)
instance Control.Monad.RWS.Class.MonadRWS r w s m => Control.Monad.RWS.Class.MonadRWS r w s (Data.Url.RelativeUrlT m)
instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Data.Url.RelativeUrlT m)
instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Data.Url.RelativeUrlT m)
instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Data.Url.RelativeUrlT m)
instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Data.Url.RelativeUrlT m)
instance GHC.Base.MonadPlus m => GHC.Base.MonadPlus (Data.Url.RelativeUrlT m)
instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Data.Url.RelativeUrlT m)
instance GHC.Base.Monad m => GHC.Base.Monad (Data.Url.RelativeUrlT m)
instance GHC.Base.Alternative m => GHC.Base.Alternative (Data.Url.RelativeUrlT m)
instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.Url.RelativeUrlT m)
instance GHC.Base.Functor m => GHC.Base.Functor (Data.Url.RelativeUrlT m)
instance GHC.Classes.Ord (m a) => GHC.Classes.Ord (Data.Url.RelativeUrlT m a)
instance GHC.Classes.Eq (m a) => GHC.Classes.Eq (Data.Url.RelativeUrlT m a)
instance GHC.Show.Show (m a) => GHC.Show.Show (Data.Url.RelativeUrlT m a)
instance (Control.Monad.Trans.Resource.Internal.MonadResource m, Control.Monad.Base.MonadBase GHC.Types.IO m) => Control.Monad.Trans.Resource.Internal.MonadResource (Data.Url.RelativeUrlT m)
instance (Control.Monad.Trans.Resource.Internal.MonadResource m, Control.Monad.Base.MonadBase GHC.Types.IO m) => Control.Monad.Trans.Resource.Internal.MonadResource (Data.Url.GroundedUrlT m)
instance Data.Url.MonadUrl b t GHC.Types.IO
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Maybe.MaybeT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.List.ListT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Resource.Internal.ResourceT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Identity.IdentityT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Logger.LoggingT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Logger.NoLoggingT m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Reader.ReaderT r m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m, GHC.Base.Monoid w) => Data.Url.MonadUrl b t (Control.Monad.Trans.Writer.Lazy.WriterT w m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.State.Lazy.StateT s m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m, Control.Monad.Trans.Error.Error e) => Data.Url.MonadUrl b t (Control.Monad.Trans.Error.ErrorT e m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Cont.ContT r m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m) => Data.Url.MonadUrl b t (Control.Monad.Trans.Except.ExceptT e m)
instance (Data.Url.MonadUrl b t m, GHC.Base.Monad m, GHC.Base.Monoid w) => Data.Url.MonadUrl b t (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
instance Control.Monad.Trans.Class.MonadTrans Data.Url.RelativeUrlT
instance Control.Monad.Trans.Control.MonadTransControl Data.Url.RelativeUrlT
instance Control.Monad.Trans.Control.Aligned.MonadTransControl Data.Url.RelativeUrlT Data.Functor.Identity.Identity
instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Data.Url.RelativeUrlT m)
instance Control.Monad.Trans.Control.Aligned.MonadBaseControl b m stM => Control.Monad.Trans.Control.Aligned.MonadBaseControl b (Data.Url.RelativeUrlT m) (Data.Functor.Compose.Compose stM Data.Functor.Identity.Identity)
instance Control.Monad.Morph.MFunctor Data.Url.RelativeUrlT
instance Control.Monad.Morph.MMonad Data.Url.RelativeUrlT
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Rel Path.File (Data.Url.RelativeUrlT m)
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Rel Path.Dir (Data.Url.RelativeUrlT m)
instance Control.Monad.Trans.Class.MonadTrans Data.Url.GroundedUrlT
instance Control.Monad.Trans.Control.MonadTransControl Data.Url.GroundedUrlT
instance Control.Monad.Trans.Control.Aligned.MonadTransControl Data.Url.GroundedUrlT Data.Functor.Identity.Identity
instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Data.Url.GroundedUrlT m)
instance Control.Monad.Trans.Control.Aligned.MonadBaseControl b m stM => Control.Monad.Trans.Control.Aligned.MonadBaseControl b (Data.Url.GroundedUrlT m) (Data.Functor.Compose.Compose stM Data.Functor.Identity.Identity)
instance Control.Monad.Morph.MFunctor Data.Url.GroundedUrlT
instance Control.Monad.Morph.MMonad Data.Url.GroundedUrlT
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Abs Path.File (Data.Url.GroundedUrlT m)
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Abs Path.Dir (Data.Url.GroundedUrlT m)
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Abs Path.File (Data.Url.AbsoluteUrlT m)
instance GHC.Base.Applicative m => Data.Url.MonadUrl Path.Abs Path.Dir (Data.Url.AbsoluteUrlT m)
instance GHC.Base.Applicative m => GHC.Base.Applicative (Data.Url.AbsoluteUrlT m)
instance GHC.Base.Alternative m => GHC.Base.Alternative (Data.Url.AbsoluteUrlT m)
instance GHC.Base.Monad m => GHC.Base.Monad (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Trans.Class.MonadTrans Data.Url.AbsoluteUrlT
instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Data.Url.AbsoluteUrlT m)
instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Data.Url.AbsoluteUrlT m)
instance Control.Monad.RWS.Class.MonadRWS r w s m => Control.Monad.RWS.Class.MonadRWS r w s (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Trans.Control.MonadTransControl Data.Url.AbsoluteUrlT
instance Control.Monad.Trans.Control.Aligned.MonadTransControl Data.Url.AbsoluteUrlT Data.Functor.Identity.Identity
instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Trans.Control.Aligned.MonadBaseControl b m stM => Control.Monad.Trans.Control.Aligned.MonadBaseControl b (Data.Url.AbsoluteUrlT m) (Data.Functor.Compose.Compose stM Data.Functor.Identity.Identity)
instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Catch.MonadMask m => Control.Monad.Catch.MonadMask (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Logger.MonadLogger m => Control.Monad.Logger.MonadLogger (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Trans.Resource.Internal.MonadResource m => Control.Monad.Trans.Resource.Internal.MonadResource (Data.Url.AbsoluteUrlT m)
instance Control.Monad.Morph.MFunctor Data.Url.AbsoluteUrlT
instance Control.Monad.Morph.MMonad Data.Url.AbsoluteUrlT