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.
