Struct async_graphql::dynamic::Schema
source · pub struct Schema(_);
Available on crate feature
dynamic-schema
only.Expand description
Dyanmic GraphQL schema.
Cloning a schema is cheap, so it can be easily shared.
Implementations§
source§impl Schema
impl Schema
sourcepub fn build(
query: &str,
mutation: Option<&str>,
subscription: Option<&str>
) -> SchemaBuilder
pub fn build(
query: &str,
mutation: Option<&str>,
subscription: Option<&str>
) -> SchemaBuilder
Create a schema builder
sourcepub fn sdl_with_options(&self, options: SDLExportOptions) -> String
pub fn sdl_with_options(&self, options: SDLExportOptions) -> String
Returns SDL(Schema Definition Language) of this schema with options.
sourcepub async fn execute(&self, request: impl Into<DynamicRequest>) -> Response
pub async fn execute(&self, request: impl Into<DynamicRequest>) -> Response
Execute a GraphQL query.
sourcepub fn execute_stream_with_session_data(
&self,
request: impl Into<DynamicRequest>,
session_data: Arc<Data>
) -> impl Stream<Item = Response> + Send + Unpin
pub fn execute_stream_with_session_data(
&self,
request: impl Into<DynamicRequest>,
session_data: Arc<Data>
) -> impl Stream<Item = Response> + Send + Unpin
Execute a GraphQL subscription with session data.
Examples found in repository?
src/dynamic/schema.rs (line 427)
423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444
pub fn execute_stream(
&self,
request: impl Into<DynamicRequest>,
) -> impl Stream<Item = Response> + Send + Unpin {
self.execute_stream_with_session_data(request, Default::default())
}
}
#[async_trait::async_trait]
impl Executor for Schema {
async fn execute(&self, request: Request) -> Response {
Schema::execute(self, request).await
}
fn execute_stream(
&self,
request: Request,
session_data: Option<Arc<Data>>,
) -> BoxStream<'static, Response> {
Schema::execute_stream_with_session_data(self, request, session_data.unwrap_or_default())
.boxed()
}
sourcepub fn execute_stream(
&self,
request: impl Into<DynamicRequest>
) -> impl Stream<Item = Response> + Send + Unpin
pub fn execute_stream(
&self,
request: impl Into<DynamicRequest>
) -> impl Stream<Item = Response> + Send + Unpin
Execute a GraphQL subscription.
Trait Implementations§
source§impl Executor for Schema
impl Executor for Schema
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,
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>
fn execute_stream(
&self,
request: Request,
session_data: Option<Arc<Data>>
) -> BoxStream<'static, Response>
Execute a GraphQL subscription with session data.
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,
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.