Safe Haskell | None |
---|---|
Language | Haskell2010 |
Servant.Client.Internal.HttpClient
Description
http-client
-based client requests executor
- data ClientEnv = ClientEnv {}
- client :: HasClient ClientM api => Proxy api -> Client ClientM api
- newtype ClientM a = ClientM {
- runClientM' :: ReaderT ClientEnv (ExceptT ServantError IO) a
- runClientM :: ClientM a -> ClientEnv -> IO (Either ServantError a)
- performRequest :: Request -> ClientM Response
- clientResponseToReponse :: Response ByteString -> Response
- requestToClientRequest :: BaseUrl -> Request -> Request
- catchConnectionError :: IO a -> IO (Either ServantError a)
Documentation
The environment in which a request is run.
Instances
client :: HasClient ClientM api => Proxy api -> Client ClientM api #
Generates a set of client functions for an API.
Example:
type API = Capture "no" Int :> Get '[JSON] Int :<|> Get '[JSON] [Bool] api :: Proxy API api = Proxy getInt :: Int -> ClientM Int getBools :: ClientM [Bool] getInt :<|> getBools = client api
ClientM
is the monad in which client functions run. Contains the
Manager
and BaseUrl
used for requests in the reader environment.
Constructors
ClientM | |
Fields
|
Instances
Monad ClientM # | |
Functor ClientM # | |
Applicative ClientM # | |
MonadIO ClientM # | |
MonadThrow ClientM # | |
MonadCatch ClientM # | |
RunClient ClientM # | |
Alt ClientM # | Try clients in order, last error is preserved. |
MonadBase IO ClientM # | |
MonadBaseControl IO ClientM # | |
MonadError ServantError ClientM # | |
MonadReader ClientEnv ClientM # | |
Generic (ClientM a) # | |
ClientLike (ClientM a) (ClientM a) # | |
type StM ClientM a # | |
type Rep (ClientM a) # | |
runClientM :: ClientM a -> ClientEnv -> IO (Either ServantError a) #
performRequest :: Request -> ClientM Response #
clientResponseToReponse :: Response ByteString -> Response #
requestToClientRequest :: BaseUrl -> Request -> Request #
catchConnectionError :: IO a -> IO (Either ServantError a) #