Fix staticFiles properly

This commit is contained in:
Michael Snoyman 2011-04-10 21:59:29 +03:00
parent c1659239a9
commit 97ab7ffa49

View File

@ -60,6 +60,7 @@ import qualified Data.ByteString.Base64
import qualified Data.ByteString.Char8 as S8 import qualified Data.ByteString.Char8 as S8
import qualified Data.Serialize import qualified Data.Serialize
import Data.Text (Text, pack) import Data.Text (Text, pack)
import Data.Monoid (mempty)
import Network.Wai.Application.Static import Network.Wai.Application.Static
( defaultMimeTypeByExt, StaticSettings (..), staticAppPieces ( defaultMimeTypeByExt, StaticSettings (..), staticAppPieces
@ -162,10 +163,11 @@ staticFiles fp = do
| isUpper x = toLower x : xs | isUpper x = toLower x : xs
| otherwise = str | otherwise = str
let name = mkName $ intercalate "_" $ map (adjust . map replace') f let name = mkName $ intercalate "_" $ map (adjust . map replace') f
f' <- [|pack $(lift f)|] f' <- [|map pack $(lift f)|]
let sr = ConE $ mkName "StaticRoute" let sr = ConE $ mkName "StaticRoute"
hash <- qRunIO $ fmap base64md5 $ L.readFile $ fp ++ '/' : intercalate "/" f hash <- qRunIO $ fmap base64md5 $ L.readFile $ fp ++ '/' : intercalate "/" f
let qs = ListE [TupE [LitE $ StringL hash, ListE []]] pack' <- [|pack|]
qs <- [|[(pack $(lift hash), mempty)]|]
return return
[ SigD name $ ConT ''Route `AppT` ConT ''Static [ SigD name $ ConT ''Route `AppT` ConT ''Static
, FunD name , FunD name