Struct CapabilitiesQuery

Source
pub struct CapabilitiesQuery { /* private fields */ }
Expand description

A query that detects what capabilities a remote GraphQL server has, which can be used to determine what introspection query should be made against that server.

Currently this just determines which version of the specification the server supports, but it may be extended in the future to detect other capabilities e.g. which RFCs a server has implemented support for.

use cynic::{QueryBuilder, http::ReqwestExt};
use cynic_introspection::CapabilitiesQuery;

let data = reqwest::Client::new()
    .post(url)
    .run_graphql(CapabilitiesQuery::build(()))
    .await
    .unwrap()
    .data
    .unwrap();

let capabilities = data.capabilities();
println!("This server supports {capabilities:?}");

Implementations§

Source§

impl CapabilitiesQuery

Source

pub fn capabilities(&self) -> CapabilitySet

The capabilities that were detected by this query

Trait Implementations§

Source§

impl Debug for CapabilitiesQuery

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CapabilitiesQuery

Source§

fn deserialize<__D>(deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl QueryFragment for CapabilitiesQuery

Source§

const TYPE: Option<&'static str>

The name of the type in the GraphQL schema
Source§

type SchemaType = Query

The type in a schema that this QueryFragment represents
Source§

type VariablesFields = ()

The variables that are required to execute this QueryFragment
Source§

fn query(builder: SelectionBuilder<'_, Self::SchemaType, Self::VariablesFields>)

Adds this fragment to the query being built by builder
Source§

fn name() -> Option<Cow<'static, str>>

The name of this fragment, useful for operations, maybe fragments if we ever support them…

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> IsFieldType<T> for T