-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Painfully simple URL deployment. -- -- Please see the README on Github at -- https://github.com/githubuser/urlpath#readme @package urlpath @version 9.0.0 -- | 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 (m :: * -> *) absDirUrl :: MonadUrl m => Path Abs Dir -> m URI absFileUrl :: MonadUrl m => Path Abs File -> m URI locUrl :: MonadUrl m => Location -> 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 :: ((Location -> URI) -> m a) -> AbsoluteUrlT m a [runAbsoluteUrlT] :: AbsoluteUrlT m a -> (Location -> URI) -> m a type AbsoluteUrl = AbsoluteUrlT Identity mkUriLocEmpty :: Location -> URI getPathChunks :: Path base type' -> Vector Text packLocation :: Maybe Text -> Bool -> URIAuth -> Location -> URI unpackLocation :: URI -> (Maybe Text, Bool, URIAuth, Location) 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.State.Class.MonadState s m, Control.Monad.Writer.Class.MonadWriter w m, Control.Monad.Reader.Class.MonadReader r 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.State.Class.MonadState s m, Control.Monad.Writer.Class.MonadWriter w m, Control.Monad.Reader.Class.MonadReader r 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 GHC.Base.Applicative m => Data.Url.MonadUrl (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 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 (Data.Url.GroundedUrlT 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 (Data.Url.RelativeUrlT m) instance Data.Url.MonadUrl GHC.Types.IO instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Maybe.MaybeT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.List.ListT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Resource.Internal.ResourceT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Identity.IdentityT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Logger.LoggingT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Logger.NoLoggingT m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Reader.ReaderT r m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m, GHC.Base.Monoid w) => Data.Url.MonadUrl (Control.Monad.Trans.Writer.Lazy.WriterT w m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.State.Lazy.StateT s m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m, Control.Monad.Trans.Error.Error e) => Data.Url.MonadUrl (Control.Monad.Trans.Error.ErrorT e m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Cont.ContT r m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m) => Data.Url.MonadUrl (Control.Monad.Trans.Except.ExceptT e m) instance (Data.Url.MonadUrl m, GHC.Base.Monad m, GHC.Base.Monoid w) => Data.Url.MonadUrl (Control.Monad.Trans.RWS.Lazy.RWST r w s m)