Struct juniper::http::GraphQLRequest
source · pub struct GraphQLRequest<S = DefaultScalarValue>where
S: ScalarValue,{ /* private fields */ }
Expand description
The expected structure of the decoded JSON document for either POST or GET requests.
For POST, you can use Serde to deserialize the incoming JSON data directly into this struct - it derives Deserialize for exactly this reason.
For GET, you will need to parse the query string and extract “query”, “operationName”, and “variables” manually.
Implementations§
source§impl<S> GraphQLRequest<S>where
S: ScalarValue,
impl<S> GraphQLRequest<S>where
S: ScalarValue,
sourcepub fn operation_name(&self) -> Option<&str>
pub fn operation_name(&self) -> Option<&str>
Returns the operation_name
associated with this request.
sourcepub fn new(
query: String,
operation_name: Option<String>,
variables: Option<InputValue<S>>
) -> Self
pub fn new(
query: String,
operation_name: Option<String>,
variables: Option<InputValue<S>>
) -> Self
Construct a new GraphQL request from parts
sourcepub fn execute_sync<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'_, QueryT, MutationT, SubscriptionT, S>,
context: &QueryT::Context
) -> GraphQLResponse<'a, S>where
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
pub fn execute_sync<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'_, QueryT, MutationT, SubscriptionT, S>,
context: &QueryT::Context
) -> GraphQLResponse<'a, S>where
S: ScalarValue,
QueryT: GraphQLType<S>,
MutationT: GraphQLType<S, Context = QueryT::Context>,
SubscriptionT: GraphQLType<S, Context = QueryT::Context>,
Execute a GraphQL request synchronously using the specified schema and context
This is a simple wrapper around the execute_sync
function exposed at the
top level of this crate.
sourcepub async fn execute<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'a, QueryT, MutationT, SubscriptionT, S>,
context: &'a QueryT::Context
) -> GraphQLResponse<'a, S>where
QueryT: GraphQLTypeAsync<S>,
QueryT::TypeInfo: Sync,
QueryT::Context: Sync,
MutationT: GraphQLTypeAsync<S, Context = QueryT::Context>,
MutationT::TypeInfo: Sync,
SubscriptionT: GraphQLType<S, Context = QueryT::Context> + Sync,
SubscriptionT::TypeInfo: Sync,
S: ScalarValue + Send + Sync,
pub async fn execute<'a, QueryT, MutationT, SubscriptionT>(
&'a self,
root_node: &'a RootNode<'a, QueryT, MutationT, SubscriptionT, S>,
context: &'a QueryT::Context
) -> GraphQLResponse<'a, S>where
QueryT: GraphQLTypeAsync<S>,
QueryT::TypeInfo: Sync,
QueryT::Context: Sync,
MutationT: GraphQLTypeAsync<S, Context = QueryT::Context>,
MutationT::TypeInfo: Sync,
SubscriptionT: GraphQLType<S, Context = QueryT::Context> + Sync,
SubscriptionT::TypeInfo: Sync,
S: ScalarValue + Send + Sync,
Execute a GraphQL request using the specified schema and context
This is a simple wrapper around the execute
function exposed at the
top level of this crate.
Trait Implementations§
source§impl<S> Clone for GraphQLRequest<S>where
S: ScalarValue + Clone,
impl<S> Clone for GraphQLRequest<S>where
S: ScalarValue + Clone,
source§fn clone(&self) -> GraphQLRequest<S>
fn clone(&self) -> GraphQLRequest<S>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<S> Debug for GraphQLRequest<S>where
S: ScalarValue + Debug,
impl<S> Debug for GraphQLRequest<S>where
S: ScalarValue + Debug,
source§impl<'de, S> Deserialize<'de> for GraphQLRequest<S>where
S: ScalarValue,
InputValue<S>: Deserialize<'de> + Serialize,
impl<'de, S> Deserialize<'de> for GraphQLRequest<S>where
S: ScalarValue,
InputValue<S>: Deserialize<'de> + Serialize,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<S> PartialEq<GraphQLRequest<S>> for GraphQLRequest<S>where
S: ScalarValue + PartialEq,
impl<S> PartialEq<GraphQLRequest<S>> for GraphQLRequest<S>where
S: ScalarValue + PartialEq,
source§fn eq(&self, other: &GraphQLRequest<S>) -> bool
fn eq(&self, other: &GraphQLRequest<S>) -> bool
self
and other
values to be equal, and is used
by ==
.