Expose Server.SERVER_CONTEXT_KEY so that users can implement a Server
- Dominant language
- Java
- Stars
- 12.1k
- Forks
- 4k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Description
It seems like a valid goal to want to implement (extend) a `Server` - there are only a few implementations in grpc-java and I can imagine quite a few alternatives that I wouldn't expect the grpc-java community to want to support. But if you try it you find that the reflection service doesn't work (and therefore I assume potentially other services) because it accesses the current `Server` via the `Server.SERVER_CONTEXT_KEY`. If you don't have access to that key you can't set up the context for the reflection service. There is an escape hatch via `InternalServer.SERVER_CONTEXT_KEY` but that is clearly documented as "not for use outside grpc-java" and annotated with `@Internal`.
Contributor guide
Assessment
This issue has not been assessed yet.