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.Serialize
import Data.Text (Text, pack)
import Data.Monoid (mempty)
import Network.Wai.Application.Static
( defaultMimeTypeByExt, StaticSettings (..), staticAppPieces
@ -162,10 +163,11 @@ staticFiles fp = do
| isUpper x = toLower x : xs
| otherwise = str
let name = mkName $ intercalate "_" $ map (adjust . map replace') f
f' <- [|pack $(lift f)|]
f' <- [|map pack $(lift f)|]
let sr = ConE $ mkName "StaticRoute"
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
[ SigD name $ ConT ''Route `AppT` ConT ''Static
, FunD name