)
where
-import qualified Codec.Binary.Base64 as B64
+import qualified Codec.Binary.UTF8.String as UTF8
import Control.Arrow
import Control.Arrow.ArrowIO
import Control.Arrow.ArrowList
import Control.Monad.Trans
-import qualified Data.ByteString.Lazy as Lazy (ByteString, pack)
-import qualified Data.ByteString.Lazy.Char8 as L8 hiding (ByteString)
-import Data.Maybe
+import qualified Data.ByteString.Lazy as Lazy
import Network.HTTP.Lucu
-import Network.HTTP.Lucu.Utils
+import OpenSSL.EVP.Base64
import Rakka.Environment
import Rakka.Page
import Rakka.Utils
import Rakka.Wiki.Engine
+import System.FilePath.Posix
import Text.XML.HXT.Arrow.Namespace
import Text.XML.HXT.Arrow.WriteDocument
import Text.XML.HXT.Arrow.XmlArrow
}
where
toPageName :: [String] -> PageName
- toPageName = decodePageName . joinWith "/"
+ toPageName = UTF8.decodeString . joinPath
{-
let (bin, cType) = case cTypeM of
Just (MIMEType "application" "x-rakka-base64-stream" _)
- -> let b = Lazy.pack $ fromJust $ B64.decode $ L8.unpack entity
+ -> let b = decodeBase64LBS entity
in
(b, guessMIMEType b)
Just t
>>>
render env
>>>
- writeDocumentToString [ (a_indent, v_1) ]
+ writeDocumentToString [ (a_indent , v_1)
+ , (a_output_encoding, utf8)
+ , (a_no_xml_pi , v_0) ]
)
output xmlStr