pub trait SurfExt {
// Required method
fn run_graphql<ResponseData, Vars>(
self,
operation: Operation<ResponseData, Vars>
) -> Pin<Box<dyn Future<Output = Result<GraphQlResponse<ResponseData>, Error>> + Send + 'static>>
where Vars: Serialize,
ResponseData: DeserializeOwned + 'static;
}
Available on crate feature
surf
only.Expand description
An extension trait for surf::RequestBuilder.
use cynic::{http::SurfExt, QueryBuilder};
let operation = FilmDirectorQuery::build(());
let response = surf::post("https://swapi-graphql.netlify.app/.netlify/functions/index")
.run_graphql(operation)
.await
.unwrap();
println!(
"The director is {}",
response.data
.and_then(|d| d.film)
.and_then(|f| f.director)
.unwrap()
);
Required Methods§
sourcefn run_graphql<ResponseData, Vars>(
self,
operation: Operation<ResponseData, Vars>
) -> Pin<Box<dyn Future<Output = Result<GraphQlResponse<ResponseData>, Error>> + Send + 'static>>where
Vars: Serialize,
ResponseData: DeserializeOwned + 'static,
fn run_graphql<ResponseData, Vars>(
self,
operation: Operation<ResponseData, Vars>
) -> Pin<Box<dyn Future<Output = Result<GraphQlResponse<ResponseData>, Error>> + Send + 'static>>where
Vars: Serialize,
ResponseData: DeserializeOwned + 'static,
Runs a GraphQL query with the parameters in RequestBuilder, deserializes the response and returns the result.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl SurfExt for RequestBuilder
impl SurfExt for RequestBuilder
source§fn run_graphql<ResponseData, Vars>(
self,
operation: Operation<ResponseData, Vars>
) -> Pin<Box<dyn Future<Output = Result<GraphQlResponse<ResponseData>, Error>> + Send + 'static>>where
Vars: Serialize,
ResponseData: DeserializeOwned + 'static,
fn run_graphql<ResponseData, Vars>(
self,
operation: Operation<ResponseData, Vars>
) -> Pin<Box<dyn Future<Output = Result<GraphQlResponse<ResponseData>, Error>> + Send + 'static>>where
Vars: Serialize,
ResponseData: DeserializeOwned + 'static,
Available on crate feature
http-surf
only.