support building with yesod-default 1.1.0

Old 1.0.1 version is still supported as well. Cabal autodetects
which version is available, but in the Makefile, WITH_OLD_YESOD
has to be configured appropriately.

I have not squashed all the $newline warnings with the new Yesod.
They should go away eventually anyway as Yesod moves past that transition.
This commit is contained in:
Joey Hess 2012-08-09 13:33:04 -04:00
parent 20203b45b9
commit be310ac4d0
4 changed files with 32 additions and 4 deletions

View file

@ -26,6 +26,7 @@ import Crypto.Random
import Data.Digest.Pure.SHA
import qualified Web.ClientSession as CS
import qualified Data.ByteString.Lazy as L
import qualified Data.ByteString as B
import qualified Data.Text as T
import qualified Data.Text.Encoding as TE
import Blaze.ByteString.Builder.Char.Utf8 (fromText)
@ -113,7 +114,7 @@ logRequest req = do
where
frombs v = toString $ L.fromChunks [v]
lookupRequestField :: CI.CI Ascii -> Wai.Request -> Ascii
lookupRequestField :: CI.CI B.ByteString -> Wai.Request -> B.ByteString
lookupRequestField k req = fromMaybe "" . lookup k $ Wai.requestHeaders req
{- Rather than storing a session key on disk, use a random key

View file

@ -5,13 +5,27 @@
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE CPP #-}
module Utility.Yesod where
import Yesod.Default.Util
import Language.Haskell.TH.Syntax
#ifndef WITH_OLD_YESOD
import Data.Default (def)
import Text.Hamlet
#endif
widgetFile :: String -> Q Exp
#ifdef WITH_OLD_YESOD
widgetFile = widgetFileNoReload
#else
widgetFile = widgetFileNoReload $ def
{ wfsHamletSettings = defaultHamletSettings
{ hamletNewlines = AlwaysNewlines
}
}
#endif
hamletTemplate :: FilePath -> FilePath
hamletTemplate f = globFile "hamlet" f