License | BSD3 |
---|---|
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Provides a client for a web api for a given contract.
- client :: forall m r. (CookieOut m r ~ (), ToParam PathParam (PathParam m r), ToParam QueryParam (QueryParam m r), ToParam FormParam (FormParam m r), ToHeader (HeaderIn m r), ToParam FileParam (FileParam m r), FromHeader (HeaderOut m r), Decodings (ContentTypes m r) (ApiOut m r), Decodings (ContentTypes m r) (ApiErr m r), SingMethod m, MkPathFormatString r, PartEncodings (RequestBody m r), ToHListRecTuple (StripContents (RequestBody m r))) => ClientSettings -> Request m r -> IO (Response m r)
- fromClientResponse :: forall m r. (FromHeader (HeaderOut m r), Decodings (ContentTypes m r) (ApiOut m r), Decodings (ContentTypes m r) (ApiErr m r), CookieOut m r ~ ()) => Response BodyReader -> IO (Response m r)
- toClientRequest :: forall m r. (ToParam PathParam (PathParam m r), ToParam QueryParam (QueryParam m r), ToParam FormParam (FormParam m r), ToHeader (HeaderIn m r), ToParam FileParam (FileParam m r), SingMethod m, MkPathFormatString r, PartEncodings (RequestBody m r), ToHListRecTuple (StripContents (RequestBody m r))) => Request -> Request m r -> IO Request
- link :: (ToParam QueryParam (QueryParam m r), MkPathFormatString r, ToParam PathParam (PathParam m r)) => route m r -> URI -> PathParam m r -> Maybe (QueryParam m r) -> URI
- data ClientSettings = ClientSettings {}
- data UnknownClientException
- data Manager :: *
- newManager :: ManagerSettings -> IO Manager
- closeManager :: Manager -> IO ()
- withManager :: ManagerSettings -> (Manager -> IO a) -> IO a
- class HasHttpManager a where
- getHttpManager :: a -> Manager
- data ManagerSettings :: *
- defaultManagerSettings :: ManagerSettings
- tlsManagerSettings :: ManagerSettings
Client related functions
client :: forall m r. (CookieOut m r ~ (), ToParam PathParam (PathParam m r), ToParam QueryParam (QueryParam m r), ToParam FormParam (FormParam m r), ToHeader (HeaderIn m r), ToParam FileParam (FileParam m r), FromHeader (HeaderOut m r), Decodings (ContentTypes m r) (ApiOut m r), Decodings (ContentTypes m r) (ApiErr m r), SingMethod m, MkPathFormatString r, PartEncodings (RequestBody m r), ToHListRecTuple (StripContents (RequestBody m r))) => ClientSettings -> Request m r -> IO (Response m r) Source
fromClientResponse :: forall m r. (FromHeader (HeaderOut m r), Decodings (ContentTypes m r) (ApiOut m r), Decodings (ContentTypes m r) (ApiErr m r), CookieOut m r ~ ()) => Response BodyReader -> IO (Response m r) Source
Creates the Response
type from the response body.
toClientRequest :: forall m r. (ToParam PathParam (PathParam m r), ToParam QueryParam (QueryParam m r), ToParam FormParam (FormParam m r), ToHeader (HeaderIn m r), ToParam FileParam (FileParam m r), SingMethod m, MkPathFormatString r, PartEncodings (RequestBody m r), ToHListRecTuple (StripContents (RequestBody m r))) => Request -> Request m r -> IO Request Source
Creates a request from the Request
type.
link :: (ToParam QueryParam (QueryParam m r), MkPathFormatString r, ToParam PathParam (PathParam m r)) => route m r -> URI -> PathParam m r -> Maybe (QueryParam m r) -> URI Source
Generate a type safe URL for a given route type. The URI can be used for setting a base URL if required.
Types
data ClientSettings Source
Datatype representing the settings related to client.
ClientSettings | |
|
data UnknownClientException Source
This exception is used to signal an irrecoverable error while deserializing the response.
Connection manager
data Manager :: *
newManager :: ManagerSettings -> IO Manager
closeManager :: Manager -> IO ()
withManager :: ManagerSettings -> (Manager -> IO a) -> IO a
Connection manager settings
data ManagerSettings :: *