diff --git a/xds/internal/clients/grpctransport/grpc_transport.go b/xds/internal/clients/grpctransport/grpc_transport.go index af39349e9bae..a70faaba9005 100644 --- a/xds/internal/clients/grpctransport/grpc_transport.go +++ b/xds/internal/clients/grpctransport/grpc_transport.go @@ -211,6 +211,8 @@ func (s *stream) Recv() ([]byte, error) { return typedRes, nil } +// byteCodec here is still sending proto messages. It's just they are +// in []byte form. type byteCodec struct{} func (c *byteCodec) Marshal(v any) ([]byte, error) { @@ -229,5 +231,7 @@ func (c *byteCodec) Unmarshal(data []byte, v any) error { } func (c *byteCodec) Name() string { - return "grpctransport.byteCodec" + // Return "proto" to ensure the Content-Type header is "application/grpc", + // which is expected by standard gRPC servers for protobuf messages. + return "proto" }