-- | 'Network.HTTP.Barf' is a http client library that tries to make scripting http requests as easy as possible.
--  It provides a monoidal combinator library that should not clash with 'Prelude' imports.
--  It delegates to and includes for convenience the great aeson library for e.g. decoding of json
--
--  Example Usage:
--
--  >>> :set -XOverloadedLists
--  >>> decode @Value <$> get_ "https://jsonplaceholder.typicode.com/posts" [q_ "userId" "1"]
-- Just (Array [Object (fromList [("body",String ...
module Network.HTTP.Barf
  ( -- * prepare a request
    get_
  , head_
  , post_
  , put_
  , delete_

    -- * modify an http request

    -- ** the type of http request modifications
  , Req

    -- ** http request modifiers
  , q_
  , h_
  , j_
  , v_

    -- ** debugging helpers
  , inspectRequest_
  , dryRun_

    -- * useful reexports
  , module Reexports
  )
where

import Data.Aeson as Reexports
import Network.HTTP.Barf.Internal