pub trait Executor: Unpin + Clone + Send + Sync + 'static {
    // Required methods
    fn execute<'life0, 'async_trait>(
        &'life0 self,
        request: Request
    ) -> Pin<Box<dyn Future<Output = Response> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn execute_stream(
        &self,
        request: Request,
        session_data: Option<Arc<Data>>
    ) -> BoxStream<'static, Response>;

    // Provided method
    fn execute_batch<'life0, 'async_trait>(
        &'life0 self,
        batch_request: BatchRequest
    ) -> Pin<Box<dyn Future<Output = BatchResponse> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
}
Expand description

Represents a GraphQL executor

Required Methods§

source

fn execute<'life0, 'async_trait>( &'life0 self, request: Request ) -> Pin<Box<dyn Future<Output = Response> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Execute a GraphQL query.

source

fn execute_stream( &self, request: Request, session_data: Option<Arc<Data>> ) -> BoxStream<'static, Response>

Execute a GraphQL subscription with session data.

Provided Methods§

source

fn execute_batch<'life0, 'async_trait>( &'life0 self, batch_request: BatchRequest ) -> Pin<Box<dyn Future<Output = BatchResponse> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Execute a GraphQL batch query.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Executor for async_graphql::dynamic::Schema

Available on crate feature dynamic-schema only.
source§

impl<Query, Mutation, Subscription> Executor for async_graphql::Schema<Query, Mutation, Subscription>where Query: ObjectType + 'static, Mutation: ObjectType + 'static, Subscription: SubscriptionType + 'static,