]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Resource/Render.hs
Fixing build breakage...
[Rakka.git] / Rakka / Resource / Render.hs
index c25ca586fc628cdafcd19dd176f19eec73342d3a..8202cf626e050d0ada2f8352dbbaa61042dc89fa 100644 (file)
@@ -2,25 +2,21 @@ module Rakka.Resource.Render
     ( resRender
     )
     where
-
-import qualified Codec.Binary.Base64 as B64
 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
-import           Text.XML.HXT.Arrow.XmlIOStateArrow
 import           Text.XML.HXT.DOM.TypeDefs
 import           Text.XML.HXT.DOM.XmlKeywords
 
@@ -38,7 +34,7 @@ resRender env
       }
     where
       toPageName :: [String] -> PageName
-      toPageName = decodePageName . joinWith "/" 
+      toPageName = UTF8.decodeString . joinPath
 
 
 {-
@@ -68,7 +64,7 @@ handleRender env name
 
          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
@@ -83,7 +79,9 @@ handleRender env name
                                      >>>
                                      render env
                                      >>>
-                                     writeDocumentToString [ (a_indent, v_1) ]
+                                     writeDocumentToString [ (a_indent         , v_1)
+                                                           , (a_output_encoding, utf8)
+                                                           , (a_no_xml_pi      , v_0) ]
                                    )
          output xmlStr