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

View File

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

View File

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

View File

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

View File

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

View File

@ -33,23 +33,23 @@ library
build-depends: base >= 4 && < 5,
time >= 1.1.3 && < 1.2,
wai >= 0.0.1 && < 0.3,
wai-extra >= 0.0.0 && < 0.1,
authenticate >= 0.6 && < 0.7,
wai-extra >= 0.1.0 && < 0.2,
authenticate >= 0.6.2 && < 0.7,
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,
control-monad-attempt >= 0.2.0 && < 0.3,
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,
web-routes >= 0.22 && < 0.23,
web-routes-quasi >= 0.2 && < 0.3,
hamlet >= 0.2.2 && < 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,
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
Yesod.Content
Yesod.Dispatch