module Hreq.Core.API
(
module Hreq.Core.API.Request
, module Hreq.Core.API.Response
, module Hreq.Core.API.Internal
, module Hreq.Core.API.MediaType
, module Hreq.Core.API.Streaming
, module Hreq.Core.API.TypeLevel
, module Hreq.Core.API.Verb
, module Hreq.Core.API
, ToHttpApiData (..)
, Header
, Status (..)
, HeaderName
) where
import Data.Kind
import Hreq.Core.API.Internal
import Hreq.Core.API.MediaType
import Hreq.Core.API.Request
import Hreq.Core.API.Response
import Hreq.Core.API.Streaming
import Hreq.Core.API.TypeLevel
import Hreq.Core.API.Verb
import Network.HTTP.Types (Header, HeaderName, Status (..))
import Web.HttpApiData (ToHttpApiData (..))
type StatusCode = Int
type JsonBody (a :: Type) = ReqBody JSON a
type GetJson a = Get '[ ResBody JSON a]
type PostJson a = Post '[ResBody JSON a]
type PutJson a = Put '[ ResBody JSON a]
type PatchJson a = Patch '[ ResBody JSON a]
type DeleteJson a = Delete '[ResBody JSON a]
type RawResponse v = Verb v '[ Raw ]
type EmptyResponse v = Verb v ('[ ] :: [ ResContent Type ])