Skip to main content

RouterPlugin

Trait RouterPlugin 

Source
pub trait RouterPlugin:
    Send
    + Sync
    + 'static {
    type Config: DeserializeOwned + Sync;

Show 13 methods // Required methods fn plugin_name() -> &'static str; fn on_plugin_init( payload: OnPluginInitPayload<'_, Self>, ) -> OnPluginInitResult<Self> where Self: Sized; // Provided methods fn on_http_request<'req>( &'req self, start_payload: OnHttpRequestHookPayload<'req>, ) -> OnHttpRequestHookResult<'req> { ... } fn on_graphql_params<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLParamsStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLParamsStartHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_graphql_parse<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLParseStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLParseHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_graphql_validation<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLValidationStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLValidationStartHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_query_plan<'exec, 'async_trait>( &'exec self, start_payload: OnQueryPlanStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnQueryPlanStartHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_execute<'exec, 'async_trait>( &'exec self, start_payload: OnExecuteStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnExecuteStartHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_subgraph_execute<'exec, 'async_trait>( &'exec self, start_payload: OnSubgraphExecuteStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnSubgraphExecuteStartHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_subgraph_http_request<'exec, 'async_trait>( &'exec self, start_payload: OnSubgraphHttpRequestHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnSubgraphHttpRequestHookResult<'exec>> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... } fn on_supergraph_reload<'exec>( &'exec self, start_payload: OnSupergraphLoadStartHookPayload, ) -> OnSupergraphLoadStartHookResult<'exec> { ... } fn on_graphql_error( &self, payload: OnGraphQLErrorHookPayload, ) -> OnGraphQLErrorHookResult { ... } fn on_shutdown<'exec, 'async_trait>( &'exec self, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'exec: 'async_trait { ... }
}

Required Associated Types§

Required Methods§

Source

fn plugin_name() -> &'static str

Source

fn on_plugin_init( payload: OnPluginInitPayload<'_, Self>, ) -> OnPluginInitResult<Self>
where Self: Sized,

Provided Methods§

Source

fn on_http_request<'req>( &'req self, start_payload: OnHttpRequestHookPayload<'req>, ) -> OnHttpRequestHookResult<'req>

Source

fn on_graphql_params<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLParamsStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLParamsStartHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_graphql_parse<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLParseStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLParseHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_graphql_validation<'exec, 'async_trait>( &'exec self, start_payload: OnGraphQLValidationStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnGraphQLValidationStartHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_query_plan<'exec, 'async_trait>( &'exec self, start_payload: OnQueryPlanStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnQueryPlanStartHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_execute<'exec, 'async_trait>( &'exec self, start_payload: OnExecuteStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnExecuteStartHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_subgraph_execute<'exec, 'async_trait>( &'exec self, start_payload: OnSubgraphExecuteStartHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnSubgraphExecuteStartHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_subgraph_http_request<'exec, 'async_trait>( &'exec self, start_payload: OnSubgraphHttpRequestHookPayload<'exec>, ) -> Pin<Box<dyn Future<Output = OnSubgraphHttpRequestHookResult<'exec>> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Source

fn on_supergraph_reload<'exec>( &'exec self, start_payload: OnSupergraphLoadStartHookPayload, ) -> OnSupergraphLoadStartHookResult<'exec>

Source

fn on_graphql_error( &self, payload: OnGraphQLErrorHookPayload, ) -> OnGraphQLErrorHookResult

Source

fn on_shutdown<'exec, 'async_trait>( &'exec self, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'exec: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§