I'm also curious about this - I recently ran into this behavior in grpc-go.

On Thursday, April 14, 2022 at 4:13:41 PM UTC-7 Peter Wiese wrote:

> I have 2 questions:
>
> Given the following set of custom metadata added via some client SDK, 
> Grpc-Core, Grpc-Go, grpc-dotnet
>
> key1: foo
> key1: bar
>
> Is it required that these map to separate HTTP/2 headers?
>
> key1: foo
> key1: bar
>
> Or is it allowable to map those metadata items to a single HTTP/2 header 
> with a comma-separate value?
>
> key1: foo,bar
>
> Per the gRPC over HTTP/2 spec 
> https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests
>
> I read that as either form is acceptable. If that is true my other 
> question is if a gRPC server receives headers in either form are they 
> semantically the same?
>
>
> ------
> Context
> ------
>
> A grpc-dotnet client (which replaces the wrapper over Grpc.Core) turns 
> multiple metadata items into a single HTTP/2 header and a grpc-dotnet 
> server reads it back as a single header with a comma-separated value (as a 
> string).
>
> grpc-go sees multiple headers as individual metadata items, but it sees a 
> single header with a comma-separated value as a single metadata item. 
>
> I'm trying to figure out if grpc-dotnet is doing the wrong thing here. Its 
> doing something different but I can't say if its bad or not.
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/ffa2da86-78c7-4600-b973-5ffa02802ed5n%40googlegroups.com.

Reply via email to