module Web.Routes.Nested.FileExtListener.Blaze where
import Web.Routes.Nested.FileExtListener.Types
import Data.Map
import qualified Data.Text.Lazy.Encoding as LT
import Network.HTTP.Types (RequestHeaders,
Status, status200)
import Network.Wai
import qualified Text.Blaze.Html as H
import qualified Text.Blaze.Html.Renderer.Text as H
import Control.Monad.Writer
blaze :: Monad m => H.Html -> FileExtListenerT Response m ()
blaze i =
let r = responseLBS status200 [("Content-Type", "text/html")] $
LT.encodeUtf8 $ H.renderHtml i in
FileExtListenerT $ tell $
FileExts $ singleton Html r
blazeHeaders :: Monad m => RequestHeaders -> H.Html -> FileExtListenerT Response m ()
blazeHeaders hs i =
let r = responseLBS status200 hs $
LT.encodeUtf8 $ H.renderHtml i in
FileExtListenerT $ tell $
FileExts $ singleton Html r
blazeStatus :: Monad m => Status -> H.Html -> FileExtListenerT Response m ()
blazeStatus s i =
let r = responseLBS s [("Content-Type", "text/html")] $
LT.encodeUtf8 $ H.renderHtml i in
FileExtListenerT $ tell $
FileExts $ singleton Html r
blazeStatusHeaders :: Monad m => Status -> RequestHeaders -> H.Html -> FileExtListenerT Response m ()
blazeStatusHeaders s hs i =
let r = responseLBS s hs $
LT.encodeUtf8 $ H.renderHtml i in
FileExtListenerT $ tell $
FileExts $ singleton Html r
blazeOnly :: H.Html -> Response
blazeOnly i =
responseLBS status200 [("Content-Type", "text/html")] $ LT.encodeUtf8 $ H.renderHtml i
blazeOnlyHeaders :: RequestHeaders -> H.Html -> Response
blazeOnlyHeaders hs i =
responseLBS status200 hs $ LT.encodeUtf8 $ H.renderHtml i
blazeOnlyStatus :: Status -> H.Html -> Response
blazeOnlyStatus s i =
responseLBS s [("Content-Type", "text/html")] $ LT.encodeUtf8 $ H.renderHtml i
blazeOnlyStatusHeaders :: Status -> RequestHeaders -> H.Html -> Response
blazeOnlyStatusHeaders s hs i =
responseLBS s hs $ LT.encodeUtf8 $ H.renderHtml i