router
router copied to clipboard
Simple execution plan support for Subscriptions
Is your feature request related to a problem? Please describe.
We'd love to use Apollo Router as our federated gateway, but we are in need of Subscription support. We use a custom Subscription implementation which is backed by a message bus, rather than something like WS or SSE. We use HTTP to call Subscription fields, which I know is very custom to our situation. Our subgraphs are built on a variety of platforms (e.g - NodeJS and .NET). Atm, when calling a Subscription field, published to Apollo Studio via Rover, the caller is met with a simple error message:
{
"errors": [
{
"message": "value retrieval failed: spec error: subscription operation is not supported",
"locations": [],
"path": null
}
]
}
Describe the solution you'd like
It'd be very help if there was a mode/flag available to the router to enable the building a simple execution plan to forward a Subscription field onto its subgraph via HTTP. Nothing fancy requiring federated directives, just simple forwarding.
Describe alternatives you've considered
We've looking into https://github.com/apollosolutions/federation-subscription-tools, but due to the diversity of platforms, resources, and hosting used by our teams, it'd be difficult to build a single, Subscription-specific subgraph, to grant access to all of the resources controlled by each team's subgraph.
Additional context