Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data FederatorClientEnv = FederatorClientEnv {}
- data FederatorClientVersionedEnv = FederatorClientVersionedEnv {}
- unversionedEnv :: FederatorClientEnv -> FederatorClientVersionedEnv
- data FederatorClient (c :: Component) a
- runFederatorClient :: FederatorClientEnv -> FederatorClient c a -> IO (Either FederatorClientError a)
- runVersionedFederatorClient :: FederatorClientVersionedEnv -> FederatorClient c a -> IO (Either FederatorClientError a)
- runFederatorClientToCodensity :: forall c a. FederatorClientEnv -> FederatorClient c a -> Codensity IO (Either FederatorClientError a)
- runVersionedFederatorClientToCodensity :: FederatorClientVersionedEnv -> FederatorClient c a -> ExceptT FederatorClientError (Codensity IO) a
- getNegotiatedVersion :: FederatorClient c (Maybe Version)
- performHTTP2Request :: Http2Manager -> Target -> Request -> IO (Either FederatorClientHTTP2Error (ResponseF Builder))
- consumeStreamingResponseWith :: (StreamingResponse -> a) -> Response -> a
- streamingResponseStrictBody :: StreamingResponse -> IO Builder
- headersFromTable :: TokenHeaderTable -> [Header]
Documentation
data FederatorClientEnv Source #
data FederatorClientVersionedEnv Source #
Instances
MonadReader FederatorClientVersionedEnv (FederatorClient c) Source # | |
Defined in Wire.API.Federation.Client ask :: FederatorClient c FederatorClientVersionedEnv # local :: (FederatorClientVersionedEnv -> FederatorClientVersionedEnv) -> FederatorClient c a -> FederatorClient c a # reader :: (FederatorClientVersionedEnv -> a) -> FederatorClient c a # |
data FederatorClient (c :: Component) a Source #
A request to a remote backend. The API version of the remote backend is in
the environment. The MaybeT
layer is used to match endpoint versions (via
the Alternative
and VersionedMonad
instances).
Instances
runFederatorClient :: FederatorClientEnv -> FederatorClient c a -> IO (Either FederatorClientError a) Source #
Run federator client synchronously.
runVersionedFederatorClient :: FederatorClientVersionedEnv -> FederatorClient c a -> IO (Either FederatorClientError a) Source #
runFederatorClientToCodensity :: forall c a. FederatorClientEnv -> FederatorClient c a -> Codensity IO (Either FederatorClientError a) Source #
runVersionedFederatorClientToCodensity :: FederatorClientVersionedEnv -> FederatorClient c a -> ExceptT FederatorClientError (Codensity IO) a Source #
performHTTP2Request :: Http2Manager -> Target -> Request -> IO (Either FederatorClientHTTP2Error (ResponseF Builder)) Source #
consumeStreamingResponseWith :: (StreamingResponse -> a) -> Response -> a Source #
headersFromTable :: TokenHeaderTable -> [Header] Source #