module Network.Wai.Middleware.ContentType.Clay where
import Network.Wai.Middleware.ContentType.Types as CT
import Network.Wai.Middleware.ContentType.Text (textOnly)
import Network.HTTP.Types (status200, Status, ResponseHeaders)
import Network.Wai (Response)
import Clay.Render (Config, renderWith)
import Clay.Stylesheet (Css, App)
import qualified Data.HashMap.Lazy as HM
clay :: Monad m =>
Config -> [App] -> Css
-> FileExtListenerT m ()
clay c as i =
tell' $ HM.singleton CT.Css $
ResponseVia
(c,as,i)
status200
[("Content-Type","text/css")]
(\(c',as',i') -> clayOnly c' as' i')
clayOnly :: Config -> [App] -> Css -> Status -> ResponseHeaders -> Response
clayOnly c as css =
textOnly (renderWith c as css)