web-routes-happstack 0.21.1 → 0.22.1
raw patch · 2 files changed
+12/−5 lines, 2 filesdep ~happstack-serverdep ~web-routes
Dependency ranges changed: happstack-server, web-routes
Files
- Web/Routes/Happstack.hs +10/−3
- web-routes-happstack.cabal +2/−2
Web/Routes/Happstack.hs view
@@ -1,11 +1,11 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances, UndecidableInstances, PackageImports #-}+{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, TypeSynonymInstances, UndecidableInstances, PackageImports #-} module Web.Routes.Happstack where import Control.Applicative ((<$>)) import Control.Monad (MonadPlus(mzero)) import Data.List (intercalate)-import Happstack.Server (FilterMonad(..), ServerMonad(..), WebMonad(..), HasRqData(..), ServerPartT, Response, Request(rqPaths), ToMessage(..), dirs)-import Web.Routes.RouteT (RouteT(RouteT), liftRouteT, mapRouteT)+import Happstack.Server (Happstack, FilterMonad(..), ServerMonad(..), WebMonad(..), HasRqData(..), ServerPartT, Response, Request(rqPaths), ToMessage(..), dirs, seeOther)+import Web.Routes.RouteT (RouteT(RouteT), ShowURL, URL, showURL, liftRouteT, mapRouteT) import Web.Routes.Site (Site, runSite) instance (ServerMonad m) => ServerMonad (RouteT url m) where@@ -25,6 +25,8 @@ localRqEnv f m = mapRouteT (localRqEnv f) m rqDataError = liftRouteT . rqDataError +instance (Happstack m) => Happstack (RouteT url m)+ implSite :: (Functor m, Monad m, MonadPlus m, ServerMonad m) => String -> FilePath -> Site url (m a) -> m a implSite domain approot siteSpec = do r <- implSite_ domain approot siteSpec@@ -50,3 +52,8 @@ (Failure errs) -> handleError errs (Success sp) -> localRq (const $ rq { rqPaths = [] }) sp -}+-- | similar to 'seeOther' but takes a 'URL' 'm' as an argument+seeOtherURL :: (ShowURL m, FilterMonad Response m) => URL m -> m Response+seeOtherURL url = + do otherURL <- showURL url+ seeOther otherURL (toResponse "")
web-routes-happstack.cabal view
@@ -1,5 +1,5 @@ Name: web-routes-happstack-Version: 0.21.1+Version: 0.22.1 License: BSD3 License-File: LICENSE Author: jeremy@seereason.com@@ -11,7 +11,7 @@ Build-type: Simple Library- Build-Depends: base >= 4 && < 5, happstack-server >= 0.5.1, web-routes >= 0.19+ Build-Depends: base >= 4 && < 5, happstack-server >= 6.0, web-routes >= 0.24.1 Exposed-Modules: Web.Routes.Happstack source-repository head