A client represents how a request body is formed and sent into
a backend. The client is protocol agnostic, a Client may
communicate with a backend over gRPC, JSON-RPC, HTTP-REST, etc.
http::Response’s are used in order to maintain a
common data format compatible with a wide variety of backends.
an http response is easily derived from a grpc, jsonrpc or rest api.
Trait indicating an Endpoint can be paged
paging will return a limited number of results
per request. a cursor is present indicating
the position in the total list of results
on the backend.
a companion to the Query trait, except for streaming calls.
Not every query combinator/extension will apply to both
steams and one-off calls (how do you ‘page’ a streaming api?),
so these traits are separated.
Ignore/drop the response data for this endpoint
does not ignore any errors that might have occurred as a result of
making a network request.
the response body still must be valid protobuf