diff options
Diffstat (limited to 'Utility')
-rw-r--r-- | Utility/Base64.hs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Utility/Base64.hs b/Utility/Base64.hs index ed803a00a..ec660108a 100644 --- a/Utility/Base64.hs +++ b/Utility/Base64.hs @@ -5,14 +5,20 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Utility.Base64 (toB64, fromB64) where +module Utility.Base64 (toB64, fromB64Maybe, fromB64) where import Codec.Binary.Base64 import Data.Bits.Utils +import Control.Applicative +import Data.Maybe toB64 :: String -> String toB64 = encode . s2w8 +fromB64Maybe :: String -> Maybe String +fromB64Maybe s = w82s <$> decode s + fromB64 :: String -> String -fromB64 s = maybe bad w82s $ decode s - where bad = error "bad base64 encoded data" +fromB64 = fromMaybe bad . fromB64Maybe + where + bad = error "bad base64 encoded data" |