, mkDefaultPage
)
where
-import qualified Blaze.ByteString.Builder.ByteString as BB
+import qualified Blaze.ByteString.Builder.Char.Utf8 as BB
import Control.Arrow
import Control.Arrow.ArrowList
import Control.Arrow.ListArrow
import Data.Maybe
import qualified Data.Text as T
import qualified Data.Text.Lazy as Lazy
-import qualified Data.Text.Lazy.Encoding as Lazy
import Network.HTTP.Lucu.Config
import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.Interaction
writeDefaultPage ∷ Interaction → STM ()
writeDefaultPage !itr
-- Content-Type が正しくなければ補完できない。
- = do res ← readItr itrResponse id itr
+ = do res ← readItr itrResponse itr
when (getHeader "Content-Type" res == Just defaultPageContentType)
- $ do reqM ← readItr itrRequest id itr
+ $ do reqM ← readItr itrRequest itr
let conf = itrConfig itr
page = getDefaultPage conf reqM res
- putTMVar (itrBodyToSend itr)
- (BB.fromLazyByteString $ Lazy.encodeUtf8 page)
+ putTMVar (itrBodyToSend itr) (BB.fromLazyText page)
mkDefaultPage ∷ (ArrowXml a) ⇒ Config → StatusCode → a b XmlTree → a b XmlTree
{-# INLINEABLE mkDefaultPage #-}