Played around with dependencies

This commit is contained in:
Michael Snoyman 2010-05-13 23:25:17 +03:00
parent 0d8c024c33
commit 70144804ce
6 changed files with 18 additions and 25 deletions

View File

@ -27,9 +27,7 @@ import Language.Haskell.TH.Syntax
import qualified Network.Wai as W import qualified Network.Wai as W
import qualified Network.Wai.Enumerator as W import qualified Network.Wai.Enumerator as W
import Network.Wai.Middleware.CleanPath import Network.Wai.Middleware.CleanPath
import Network.Wai.Middleware.ClientSession
import Network.Wai.Middleware.Jsonp import Network.Wai.Middleware.Jsonp
import Network.Wai.Middleware.MethodOverride
import Network.Wai.Middleware.Gzip import Network.Wai.Middleware.Gzip
import qualified Network.Wai.Handler.SimpleServer as SS import qualified Network.Wai.Handler.SimpleServer as SS
@ -38,8 +36,7 @@ import System.Environment (getEnvironment)
import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Char8 as B
import Web.Encodings import Web.Encodings
import Data.List (intercalate) import Web.Routes (encodePathInfo)
import Web.Routes (encodePathInfo, decodePathInfo)
import Control.Concurrent.MVar import Control.Concurrent.MVar
import Control.Arrow ((***)) import Control.Arrow ((***))
@ -129,7 +126,6 @@ toWaiApp :: (Yesod y, YesodSite y) => y -> IO W.Application
toWaiApp a = toWaiApp a =
return $ gzip return $ gzip
$ jsonp $ jsonp
$ methodOverride
$ cleanPath $ cleanPath
$ toWaiApp' a $ toWaiApp' a
@ -140,10 +136,10 @@ parseSession bs = case reads $ cs bs of
toWaiApp' :: (Yesod y, YesodSite y) toWaiApp' :: (Yesod y, YesodSite y)
=> y => y
-> [B.ByteString] -> [String]
-> W.Request -> W.Request
-> IO W.Response -> IO W.Response
toWaiApp' y resource env = do toWaiApp' y segments env = do
key' <- encryptKey y key' <- encryptKey y
now <- getCurrentTime now <- getCurrentTime
let getExpires m = fromIntegral (m * 60) `addUTCTime` now let getExpires m = fromIntegral (m * 60) `addUTCTime` now
@ -158,7 +154,7 @@ toWaiApp' y resource env = do
site = getSite site = getSite
method = B.unpack $ W.methodToBS $ W.requestMethod env method = B.unpack $ W.methodToBS $ W.requestMethod env
types = httpAccept env types = httpAccept env
pathSegments = filter (not . null) $ cleanupSegments resource pathSegments = filter (not . null) segments
eurl = quasiParse site pathSegments eurl = quasiParse site pathSegments
render u = fromMaybe render u = fromMaybe
(fullRender (approot y) site u) (fullRender (approot y) site u)
@ -206,9 +202,6 @@ fullRender :: String -- ^ approot, no trailing slash
fullRender ar site route = fullRender ar site route =
ar ++ '/' : encodePathInfo (fixSegs $ quasiRender site route) ar ++ '/' : encodePathInfo (fixSegs $ quasiRender site route)
cleanupSegments :: [B.ByteString] -> [String]
cleanupSegments = decodePathInfo . intercalate "/" . map B.unpack
httpAccept :: W.Request -> [ContentType] httpAccept :: W.Request -> [ContentType]
httpAccept = map (contentTypeFromString . B.unpack) httpAccept = map (contentTypeFromString . B.unpack)
. parseHttpAccept . parseHttpAccept

View File

@ -25,7 +25,6 @@ import Yesod.Handler
import Control.Applicative hiding (optional) import Control.Applicative hiding (optional)
import Data.Time (Day) import Data.Time (Day)
import Data.Convertible.Text import Data.Convertible.Text
import Control.Monad.Attempt
import Data.Maybe (fromMaybe) import Data.Maybe (fromMaybe)
#if MIN_VERSION_transformers(0,2,0) #if MIN_VERSION_transformers(0,2,0)
import "transformers" Control.Monad.IO.Class import "transformers" Control.Monad.IO.Class
@ -33,6 +32,7 @@ import "transformers" Control.Monad.IO.Class
import "transformers" Control.Monad.Trans import "transformers" Control.Monad.Trans
#endif #endif
import Yesod.Internal import Yesod.Internal
import Control.Monad.Attempt
noParamNameError :: String noParamNameError :: String
noParamNameError = "No param name (miscalling of Yesod.Form library)" noParamNameError = "No param name (miscalling of Yesod.Form library)"
@ -56,7 +56,7 @@ instance Applicative Form where
type FormError = String type FormError = String
runFormGeneric :: MonadFailure ErrorResponse m runFormGeneric :: Failure ErrorResponse m
=> (ParamName -> [ParamValue]) -> Form x -> m x => (ParamName -> [ParamValue]) -> Form x -> m x
runFormGeneric params (Form f) = runFormGeneric params (Form f) =
case f params of case f params of
@ -64,7 +64,7 @@ runFormGeneric params (Form f) =
Right (_, x) -> return x Right (_, x) -> return x
-- | Run a form against POST parameters. -- | Run a form against POST parameters.
runFormPost :: (RequestReader m, MonadFailure ErrorResponse m, MonadIO m) runFormPost :: (RequestReader m, Failure ErrorResponse m, MonadIO m)
=> Form x -> m x => Form x -> m x
runFormPost f = do runFormPost f = do
rr <- getRequest rr <- getRequest
@ -72,7 +72,7 @@ runFormPost f = do
runFormGeneric pp f runFormGeneric pp f
-- | Run a form against GET parameters. -- | Run a form against GET parameters.
runFormGet :: (RequestReader m, MonadFailure ErrorResponse m) runFormGet :: (RequestReader m, Failure ErrorResponse m)
=> Form x -> m x => Form x -> m x
runFormGet f = do runFormGet f = do
rr <- getRequest rr <- getRequest

View File

@ -83,12 +83,12 @@ import "transformers" Control.Monad.Trans
#endif #endif
import qualified Control.Monad.CatchIO as C import qualified Control.Monad.CatchIO as C
import Control.Monad.CatchIO (catch) import Control.Monad.CatchIO (catch)
import Control.Monad.Attempt
import Control.Monad (liftM, ap) import Control.Monad (liftM, ap)
import System.IO import System.IO
import qualified Data.ByteString.Lazy as BL import qualified Data.ByteString.Lazy as BL
import qualified Network.Wai as W import qualified Network.Wai as W
import Control.Monad.Attempt
import Data.Convertible.Text (cs) import Data.Convertible.Text (cs)
import Text.Hamlet import Text.Hamlet

View File

@ -40,7 +40,6 @@ import qualified Web.Authenticate.OpenId as OpenId
import Yesod import Yesod
import Control.Monad.Attempt
import Data.Maybe import Data.Maybe
import Control.Monad import Control.Monad
import System.Random import System.Random
@ -48,6 +47,7 @@ import Data.Digest.Pure.MD5
import Control.Applicative import Control.Applicative
import Control.Concurrent.MVar import Control.Concurrent.MVar
import System.IO import System.IO
import Control.Monad.Attempt
class Yesod master => YesodAuth master where class Yesod master => YesodAuth master where
-- | Default destination on successful login or logout, if no other -- | Default destination on successful login or logout, if no other

View File

@ -17,10 +17,10 @@ import Yesod.Request
import Yesod.Hamlet import Yesod.Hamlet
import Yesod.Handler import Yesod.Handler
import Data.Convertible.Text import Data.Convertible.Text
import Network.Wai.Middleware.ClientSession
import qualified Network.Wai as W import qualified Network.Wai as W
import Yesod.Json import Yesod.Json
import Yesod.Internal import Yesod.Internal
import Web.ClientSession (Word256, getKey, defaultKeyFile)
import Web.Routes.Quasi (QuasiSite (..), Routes) import Web.Routes.Quasi (QuasiSite (..), Routes)

View File

@ -33,23 +33,23 @@ library
build-depends: base >= 4 && < 5, build-depends: base >= 4 && < 5,
time >= 1.1.3 && < 1.2, time >= 1.1.3 && < 1.2,
wai >= 0.0.1 && < 0.3, wai >= 0.0.1 && < 0.3,
wai-extra >= 0.0.0 && < 0.1, wai-extra >= 0.1.0 && < 0.2,
authenticate >= 0.6 && < 0.7, authenticate >= 0.6.2 && < 0.7,
bytestring >= 0.9.1.4 && < 0.10, bytestring >= 0.9.1.4 && < 0.10,
web-encodings >= 0.2.4 && < 0.3, web-encodings >= 0.2.6 && < 0.3,
directory >= 1 && < 1.1, directory >= 1 && < 1.1,
control-monad-attempt >= 0.2.0 && < 0.3,
text >= 0.5 && < 0.8, text >= 0.5 && < 0.8,
convertible-text >= 0.2.0 && < 0.3, convertible-text >= 0.3.0 && < 0.4,
template-haskell >= 2.4 && < 2.5, template-haskell >= 2.4 && < 2.5,
web-routes >= 0.22 && < 0.23, web-routes >= 0.22 && < 0.23,
web-routes-quasi >= 0.2 && < 0.3, web-routes-quasi >= 0.2 && < 0.3,
hamlet >= 0.2.2 && < 0.3, hamlet >= 0.2.2 && < 0.3,
transformers >= 0.1 && < 0.3, transformers >= 0.1 && < 0.3,
clientsession >= 0.2 && < 0.3, clientsession >= 0.2.1 && < 0.3,
MonadCatchIO-transformers >= 0.2.2 && < 0.3, MonadCatchIO-transformers >= 0.2.2 && < 0.3,
pureMD5 >= 1.0.0.3 && < 1.1, pureMD5 >= 1.0.0.3 && < 1.1,
random >= 1.0.0.2 && < 1.1 random >= 1.0.0.2 && < 1.1,
control-monad-attempt >= 0.3 && < 0.4
exposed-modules: Yesod exposed-modules: Yesod
Yesod.Content Yesod.Content
Yesod.Dispatch Yesod.Dispatch