marconi-core-json-rpc-1.2.0.0: Utilities for wrapping the query interface of Marconi indexers in a JSON-RPC HTTP server.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.JsonRpc.Client.Types

Description

This module provides support for generating JSON-RPC clients in the Servant framework.

Note: This client implementation runs over HTTP and the semantics of HTTP remove the need for the message id.

Orphan instances

HasClient m api => HasClient m (RawJsonRpc api) #

The RawJsonRpc is transparent to clients

Instance details

Associated Types

type Client m (RawJsonRpc api)

Methods

clientWithRoute :: Proxy m -> Proxy (RawJsonRpc api) -> Request -> Client m (RawJsonRpc api)

hoistClientMonad :: Proxy m -> Proxy (RawJsonRpc api) -> (forall x. mon x -> mon' x) -> Client mon (RawJsonRpc api) -> Client mon' (RawJsonRpc api)

(RunClient m, KnownSymbol method, ToJSON p) => HasClient m (JsonRpcNotification method p) # 
Instance details

Associated Types

type Client m (JsonRpcNotification method p)

Methods

clientWithRoute :: Proxy m -> Proxy (JsonRpcNotification method p) -> Request -> Client m (JsonRpcNotification method p)

hoistClientMonad :: Proxy m -> Proxy (JsonRpcNotification method p) -> (forall x. mon x -> mon' x) -> Client mon (JsonRpcNotification method p) -> Client mon' (JsonRpcNotification method p)

(RunClient m, KnownSymbol method, ToJSON p, FromJSON e, FromJSON r) => HasClient m (JsonRpc method p e r) # 
Instance details

Associated Types

type Client m (JsonRpc method p e r)

Methods

clientWithRoute :: Proxy m -> Proxy (JsonRpc method p e r) -> Request -> Client m (JsonRpc method p e r)

hoistClientMonad :: Proxy m -> Proxy (JsonRpc method p e r) -> (forall x. mon x -> mon' x) -> Client mon (JsonRpc method p e r) -> Client mon' (JsonRpc method p e r)