Module apollo_router::plugin

source ·
Expand description

Plugin system for the router.

Provides a customization mechanism for the router.

Requests received by the router make their way through a processing pipeline. Each request is processed at:

  • router
  • execution
  • subgraph (multiple in parallel if multiple subgraphs are accessed) stages.

A plugin can choose to interact with the flow of requests at any or all of these stages of processing. At each stage a Service is provided which provides an appropriate mechanism for interacting with the request and response.

Modules

serde support for commonly used data structures.
Utilities which make it easy to test with crate::plugin.

Structs

Factories for plugin schema and configuration.
Initialise details for a plugin

Statics

Global list of plugins.

Traits

All router plugins must implement the Plugin trait.