module Network.Wai.Middleware.ContentType.Text where
import Network.Wai.Middleware.ContentType.Types
import Network.Wai.Middleware.ContentType.ByteString
import Network.HTTP.Types (RequestHeaders, Status, status200)
import Network.Wai.Trans
import qualified Data.Text.Lazy as LT
import qualified Data.Text.Lazy.Encoding as LT
import Control.Monad.IO.Class (MonadIO)
text :: MonadIO m => LT.Text -> FileExtListenerT (MiddlewareT m) m ()
text = textStatusHeaders status200 [("Content-Type", "text/plain")]
textWith :: MonadIO m =>
(Response -> Response) -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textWith f = textStatusHeadersWith f status200 [("Content-Type", "text/plain")]
textStatus :: MonadIO m =>
Status -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textStatus s = textStatusHeaders s [("Content-Type", "text/plain")]
textStatusWith :: MonadIO m =>
(Response -> Response) -> Status -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textStatusWith f s = textStatusHeadersWith f s [("Content-Type", "text/plain")]
textHeaders :: MonadIO m =>
RequestHeaders -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textHeaders = textStatusHeaders status200
textHeadersWith :: MonadIO m =>
(Response -> Response) -> RequestHeaders -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textHeadersWith f = textStatusHeadersWith f status200
textStatusHeaders :: MonadIO m =>
Status -> RequestHeaders -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textStatusHeaders = textStatusHeadersWith id
textStatusHeadersWith :: MonadIO m =>
(Response -> Response) -> Status -> RequestHeaders -> LT.Text
-> FileExtListenerT (MiddlewareT m) m ()
textStatusHeadersWith f s hs i =
bytestringStatusWith f Text s hs $ LT.encodeUtf8 i
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