module Web.Routes.Nested.FileExtListener.Text where
import Web.Routes.Nested.FileExtListener.Types
import Web.Routes.Nested.FileExtListener.ByteString
import Data.Map
import qualified Data.Text.Lazy as LT
import qualified Data.Text.Lazy.Encoding as LT
import Network.HTTP.Types (RequestHeaders,
Status, status200)
import Network.Wai
import Data.Composition
import Control.Monad.Writer
text :: Monad m => LT.Text -> FileExtListenerT Response m ()
text = textStatusHeaders status200 [("Content-Type", "text/plain")]
textStatus :: Monad m => Status -> LT.Text -> FileExtListenerT Response m ()
textStatus s = textStatusHeaders s [("Content-Type", "text/plain")]
textHeaders :: Monad m => RequestHeaders -> LT.Text -> FileExtListenerT Response m ()
textHeaders = textStatusHeaders status200
textStatusHeaders :: Monad m => Status -> RequestHeaders -> LT.Text -> FileExtListenerT Response m ()
textStatusHeaders s hs i =
let r = textOnlyStatusHeaders s hs i in
FileExtListenerT $ tell $
FileExts $ singleton Text r
textOnly :: LT.Text -> Response
textOnly = textOnlyStatusHeaders status200 [("Content-Type", "text/plain")]
textOnlyStatus :: Status -> LT.Text -> Response
textOnlyStatus s = textOnlyStatusHeaders s [("Content-Type", "text/plain")]
textOnlyHeaders :: RequestHeaders -> LT.Text -> Response
textOnlyHeaders = textOnlyStatusHeaders status200
textOnlyStatusHeaders :: Status -> RequestHeaders -> LT.Text -> Response
textOnlyStatusHeaders s hs i = bytestringOnlyStatus s hs $ LT.encodeUtf8 i