module Network.Wai.Middleware.ContentType.ByteString where
import Network.Wai.Middleware.ContentType.Types
import Network.HTTP.Types (status200, Status, ResponseHeaders)
import Network.Wai (Response, responseLBS)
import qualified Data.ByteString.Lazy as LBS
import qualified Data.HashMap.Lazy as HM
import Control.Monad.IO.Class (MonadIO (..))
bytestring :: MonadIO m =>
FileExt
-> LBS.ByteString
-> FileExtListenerT m ()
bytestring fe i = do
aplogger <- getLogger
liftIO $ aplogger status200 (Just $ fromIntegral $ LBS.length i)
tell' $ HM.singleton fe $
ResponseVia
i
status200
[]
bytestringOnly
bytestringOnly :: LBS.ByteString -> Status -> ResponseHeaders -> Response
bytestringOnly b s hs = responseLBS s hs b