{-# LANGUAGE OverloadedStrings #-} module Network.Wai.Middleware.ContentType.Blaze where import Network.Wai.Middleware.ContentType.Types (FileExtListenerT, tell', FileExt (Html), ResponseVia (..)) import Network.HTTP.Types (status200, Status, ResponseHeaders) import Network.Wai (Response, responseBuilder) import qualified Text.Blaze.Html as H import qualified Text.Blaze.Html.Renderer.Utf8 as H import qualified Data.HashMap.Lazy as HM -- * Lifted Combinators blaze :: Monad m => H.Html -> FileExtListenerT m () blaze i = tell' $ HM.singleton Html $ ResponseVia i status200 [("Content-Type", "text/html")] blazeOnly {-# INLINEABLE blaze #-} -- * Data Only blazeOnly :: H.Html -> Status -> ResponseHeaders -> Response blazeOnly h s hs = responseBuilder s hs (H.renderHtmlBuilder h)