-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Adds support for using web-routes with Happstack
--   
--   Added Happstack class instances for RouteT. Provides a default router
--   for Site.
@package web-routes-happstack
@version 0.23.10

module Web.Routes.Happstack

-- | convert a <a>Site</a> to a normal Happstack route
--   
--   calls <a>mzero</a> if the route can be decoded.
--   
--   see also: <a>implSite_</a>
implSite :: (Functor m, Monad m, MonadPlus m, ServerMonad m) => Text -> Text -> Site url (m a) -> m a

-- | convert a <a>Site</a> to a normal Happstack route
--   
--   If url decoding fails, it returns <tt>Left "the parse error"</tt>,
--   otherwise <tt>Right a</tt>.
--   
--   see also: <a>implSite</a>
implSite_ :: (Functor m, Monad m, MonadPlus m, ServerMonad m) => Text -> Text -> Site url (m a) -> m (Either String a)

-- | similar to <a>seeOther</a> but takes a <a>URL</a> <tt>m</tt> as an
--   argument
seeOtherURL :: (MonadRoute m, FilterMonad Response m) => URL m -> m Response
instance Happstack.Server.Internal.Monads.ServerMonad m => Happstack.Server.Internal.Monads.ServerMonad (Web.Routes.RouteT.RouteT url m)
instance Happstack.Server.Internal.Monads.FilterMonad a m => Happstack.Server.Internal.Monads.FilterMonad a (Web.Routes.RouteT.RouteT url m)
instance Happstack.Server.Internal.Monads.WebMonad a m => Happstack.Server.Internal.Monads.WebMonad a (Web.Routes.RouteT.RouteT url m)
instance Happstack.Server.RqData.HasRqData m => Happstack.Server.RqData.HasRqData (Web.Routes.RouteT.RouteT url m)
instance Happstack.Server.Monads.Happstack m => Happstack.Server.Monads.Happstack (Web.Routes.RouteT.RouteT url m)
