Allow a gRPC URI to connect to an explicit address while retaining the URI hostname for TLS verification and the HTTP/2 authority.
This is useful when testing or accessing an API through a private network without changing system DNS. For example, the client should be able to connect to [fd00:1:0:fffc::110]:443 while using dispatch.eu-1.staging.api.frequenz.com for TLS SNI, certificate verification, and :authority.
The implementation could expose this through ChannelOptions or a URI query parameter. For secure channels it should configure both grpc.ssl_target_name_override and grpc.default_authority; certificate verification must remain enabled.
Please include tests covering IPv4 and IPv6 connection addresses, TLS hostname validation, and malformed overrides.
Allow a gRPC URI to connect to an explicit address while retaining the URI hostname for TLS verification and the HTTP/2 authority.
This is useful when testing or accessing an API through a private network without changing system DNS. For example, the client should be able to connect to
[fd00:1:0:fffc::110]:443while usingdispatch.eu-1.staging.api.frequenz.comfor TLS SNI, certificate verification, and:authority.The implementation could expose this through
ChannelOptionsor a URI query parameter. For secure channels it should configure bothgrpc.ssl_target_name_overrideandgrpc.default_authority; certificate verification must remain enabled.Please include tests covering IPv4 and IPv6 connection addresses, TLS hostname validation, and malformed overrides.