diff --git a/Yesod/Helpers/Static.hs b/Yesod/Helpers/Static.hs index acd2a70b..744de2ad 100644 --- a/Yesod/Helpers/Static.hs +++ b/Yesod/Helpers/Static.hs @@ -49,8 +49,8 @@ import Web.Routes import qualified Data.ByteString.Lazy as L import Data.Digest.Pure.MD5 -import qualified Codec.Binary.Base64Url -import qualified Data.ByteString as S +import qualified Data.ByteString.Base64 +import qualified Data.ByteString.Char8 as S8 import qualified Data.Serialize #if TEST @@ -188,8 +188,13 @@ caseGetFileList = do -- -- This function returns the first 8 characters of the hash. base64md5 :: L.ByteString -> String -base64md5 = take 8 - . Codec.Binary.Base64Url.encode - . S.unpack +base64md5 = map go + . take 8 + . S8.unpack + . Data.ByteString.Base64.encode . Data.Serialize.encode . md5 + where + go '+' = '-' + go '/' = '_' + go c = c diff --git a/yesod.cabal b/yesod.cabal index 228f7a02..a731b98d 100644 --- a/yesod.cabal +++ b/yesod.cabal @@ -37,7 +37,7 @@ library , pureMD5 >= 1.1.0.0 && < 2.2 , random >= 1.0.0.2 && < 1.1 , cereal >= 0.2 && < 0.4 - , dataenc >= 0.13.0.2 && < 0.14 + , base64-bytestring >= 0.1 && < 0.2 , old-locale >= 1.0.0.2 && < 1.1 , persistent >= 0.3.0 && < 0.4 , neither >= 0.1.0 && < 0.2