router
router copied to clipboard
v1.0: `apollo_router::plugin::Handler`
In the docs this is described as: "Handler represents a Plugin endpoint.". We started discussing whether this comment was correct or not and were discussing whether the Handler should be renamed to PluginEndpoint or just Endpoint.
Some assessment suggests that the comment might be wrong, but that turned into a different proposal that we believe is worth chasing:
The proposal here is that it becomes private. For plugins that still want to do this, the plugin can simply return a box service rather than returning a handler created from a box service. The original design seems to suggest (@bnjjj may be able to a provide a link to context here) that we introduced the previous pattern because of a constraint imposed by Warp, that is no longer necessary with our change to Axum.
Related comment https://github.com/apollographql/router/pull/738#discussion_r843650371