Skip to main content

Query

Trait Query 

Source
pub trait Query<T, C>
where C: Client,
{ // Required methods fn request(&self, client: &C) -> Result<Builder, APIError<C::Error>>; fn send( &self, client: &C, request: Builder, ) -> Result<Response<Bytes>, APIError<C::Error>>; fn finalise( &self, response: Response<Bytes>, ) -> Result<T, APIError<C::Error>>; fn query(&self, client: &C) -> Result<T, APIError<C::Error>>; }
Expand description

A trait which represents a query which may be made to a client.

NOTE: make sure to respect Endpoint::ignore_errors within Query::finalise.

Required Methods§

Source

fn request(&self, client: &C) -> Result<Builder, APIError<C::Error>>

Starts building the query request.

Source

fn send( &self, client: &C, request: Builder, ) -> Result<Response<Bytes>, APIError<C::Error>>

Sends the request.

Source

fn finalise(&self, response: Response<Bytes>) -> Result<T, APIError<C::Error>>

Finalises the request by returning the response.

Source

fn query(&self, client: &C) -> Result<T, APIError<C::Error>>

Perform the query against the client.

Implementors§

Source§

impl<E, C> Query<Response<Bytes>, C> for Raw<E>
where E: Endpoint, C: Client,

Source§

impl<E, T, C> Query<T, C> for E
where E: Endpoint, T: DeserializeOwned, C: Client,