
Hi All, I just cobbled together the code below from a couple of samples, but got the types matched up by trial and error. I don't really understand when things are getting converted between lazy, strict, utf8, ascii, etc. I don't want ascii in the served page at all. Is it optimal? TIA, Adrian {-# LANGUAGE OverloadedStrings #-} module Main where import Network.Wai (Application, Response (ResponseBuilder)) import Network.HTTP.Types (status200) import Network.HTTP.Types.Header (hContentType, hContentLength, hConnection) import Network.Wai.Handler.Warp (run) import Blaze.ByteString.Builder (fromByteString, fromLazyByteString) import qualified Data.ByteString.Char8 as BS (pack, length) import qualified Text.Blaze.Html5 as H import qualified Text.Blaze.Html5.Attributes as A import Text.Blaze.Html.Renderer.Utf8 import qualified Data.ByteString.Lazy as LB application:: Application application _ = return $ ResponseBuilder status200 [(hContentType, BS.pack "text/html"), (hContentLength, BS.pack bodyLen), (hConnection, BS.pack "keep-alive")] $ fromLazyByteString body where body = root bodyLen = show. LB.length $ body root = renderHtml rooth rooth :: H.Html rooth = H.docTypeHtml $ do H.body $ do H.h1 "Hello" main:: IO () main = run 8080 application