{-# options_haddock prune #-} -- |Description: Json Request Combinator, Internal module Polysemy.Http.Json where import Control.Lens ((%~)) import Polysemy.Http.Data.Header (HeaderName, HeaderValue) import Polysemy.Http.Data.HttpError (HttpError) import qualified Polysemy.Http.Data.Request as Request import Polysemy.Http.Data.Request (Request) import Polysemy.Http.Data.Response (Response) import qualified Polysemy.Http.Effect.Http as Http import Polysemy.Http.Effect.Http (Http) jsonContentType :: (HeaderName, HeaderValue) jsonContentType = ("content-type", "application/json") -- |Make a request, setting the @content-type@ header to @application/json@ jsonRequest :: Member (Http c) r => Request -> Sem r (Either HttpError (Response LByteString)) jsonRequest = Http.request . (Request.headers %~ (jsonContentType :))