Consider configuring `ProtoReflectionService` to use it without internal APIs
- Dominant language
- Java
- Stars
- 12.1k
- Forks
- 4k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Description
Due to the popularity of gRPC, some frameworks or libraries have an integration layer for gRPC.
* Armeria: https://line.github.io/armeria/docs/server-grpc
* Heldion: https://helidon.io/docs/v2/#/se/grpc/01_introduction
* Micronaut: https://micronaut-projects.github.io/micronaut-grpc/latest/guide/index.html
Especially, Armeria has its own server/client implementations to serve/call a gRPC stub.
`ProtoReflectionService` is using the internal reference of a gRPC-Java server instance since 1.30.0 #6967.
That means a stub running without gRPC-Java server could not use `ProtoReflectionService`. https://github.com/line/armeria/issues/2806
Armeria injects `ServerServiceDefinition`s to `ProtoReflectionService` using `notifyOnBuild()` hook.
https://github.com/line/armeria/blob/armeria-0.99.6/grpc/src/main/java/com/linecorp/armeria/server/grpc/FramedGrpcService.java#L271-L275
If `ProtoReflectionService` supports better ways to build `ProtoReflectionService`,
it could be a good extension point for gRPC-Java ecosystem.
Contributor guide
Assessment
This issue has not been assessed yet.