module Network.Wai.Middleware.ContentType.Json where import Network.Wai.Middleware.ContentType.Types import Network.Wai.Middleware.ContentType.ByteString import Network.HTTP.Types (Status, ResponseHeaders) import Network.Wai (Response) import qualified Data.Aeson as A -- * Lifted Combinators json :: ( A.ToJSON j , Monad m ) => j -> FileExtListenerT (Status -> ResponseHeaders -> Response) m () json = bytestring Json . A.encode {-# INLINEABLE json #-} -- * Data Only jsonOnly :: A.ToJSON j => j -> Status -> ResponseHeaders -> Response jsonOnly j = bytestringOnly (A.encode j) {-# INLINEABLE jsonOnly #-}