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;
}