summaryrefslogtreecommitdiff
path: root/Utility
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-08-09 13:33:04 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-08-09 13:33:04 -0400
commitbe310ac4d0d0c0343c8a7d54f9137ee1946bfd1c (patch)
treefc0079d720e64142441a6db87a27235edca7e333 /Utility
parent20203b45b9dbf915851969b9c5f4c9cb6e71acb6 (diff)
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.
Diffstat (limited to 'Utility')
-rw-r--r--Utility/WebApp.hs3
-rw-r--r--Utility/Yesod.hs14
2 files changed, 16 insertions, 1 deletions
diff --git a/Utility/WebApp.hs b/Utility/WebApp.hs
index be186baa2..14718d543 100644
--- a/Utility/WebApp.hs
+++ b/Utility/WebApp.hs
@@ -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
diff --git a/Utility/Yesod.hs b/Utility/Yesod.hs
index 2d2c6c343..b6748f240 100644
--- a/Utility/Yesod.hs
+++ b/Utility/Yesod.hs
@@ -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