Skip to main content

DynRouterPlugin

Trait DynRouterPlugin 

Source
pub trait DynRouterPlugin:
    Send
    + Sync
    + 'static {
    // Required 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 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,

Implementors§

Source§

impl<P> DynRouterPlugin for P
where P: RouterPlugin,