Skip to content

Implement v1 reflection service and clean up integration#2704

Merged
JamesNK merged 4 commits intogrpc:masterfrom
JamesNK:jamesnk/reflection-grpc-tools
Mar 27, 2026
Merged

Implement v1 reflection service and clean up integration#2704
JamesNK merged 4 commits intogrpc:masterfrom
JamesNK:jamesnk/reflection-grpc-tools

Conversation

@JamesNK
Copy link
Copy Markdown
Member

@JamesNK JamesNK commented Mar 26, 2026

Fixes #1886

This pull request adds support for the v1 version of the gRPC server reflection protocol alongside the existing v1alpha version. It updates dependency management, service registration, and endpoint mapping to support both reflection versions, and includes the official proto definitions for both versions.

Support for gRPC Reflection v1 and v1alpha:

  • Added official reflection.proto files for both v1 (Proto/grpc/reflection/v1/reflection.proto) and v1alpha (Proto/grpc/reflection/v1alpha/reflection.proto), and configured the project to generate C# code for both using Grpc.Tools. [1] [2] [3]
  • Registered and mapped both ReflectionServiceImpl (v1alpha) and ReflectionV1ServiceImpl (v1) in dependency injection and endpoint routing, so both reflection APIs are available. [1] [2]

Service Registration and Code Structure Improvements:

  • Refactored service descriptor resolution to a shared singleton (ResolvedServiceDescriptors) used by both reflection implementations, reducing duplication and improving efficiency. [1] [2]
  • Introduced a CompositeEndpointConventionBuilder to allow endpoint conventions to be applied to both reflection endpoints simultaneously, simplifying endpoint configuration for consumers. [1] [2]

@JamesNK JamesNK merged commit 89ad58d into grpc:master Mar 27, 2026
6 of 7 checks passed
@JamesNK JamesNK deleted the jamesnk/reflection-grpc-tools branch March 27, 2026 02:01
This was referenced Apr 30, 2026
This was referenced May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update reflection.proto from v1alpha to v1

2 participants