Go is the only implementation to support sending the +format syntax. All other implementations ignore it completely when receiving.
On Wednesday, February 17, 2021 at 10:10:21 AM UTC-8 Easwar Swaminathan wrote: > If the gRPC-Go server is crashing, please do file an issue under the > grpc-go repository. > > For the issue where the python client is not setting the appropriate > content-type, please file an issue there. > > Thanks > > On Tuesday, February 16, 2021 at 3:27:13 AM UTC-8 Mustafa Khalil wrote: > >> Good afternoon, >> >> Hope you are all doing well. >> I am trying to implement the code generators for the grpc flatbuffers >> library, however i am facing an issue. I have been testing the currnent >> implementation that are implemented in the flatbuffers library and >> upgrading them to support the latest gRPC v1.35.0. The issue comes to light >> whenever i try to call a grpc-go server from any other implementation, the >> grpc-go server requires a `content-type` header of type >> `application/grpc+flatbuffers` which makes sense. However whenever i try to >> set that content-type from any other client the client ignores the set >> header and defaults to `application/grpc` which crashes the go gRPC server >> since the server is expecting a header with `+flatbuffers` in it for it to >> decode and encode the data properly. How should we solve this so we can >> include the support of flatbuffers into grpc, which some languages have >> integrated properly with (swift, ts, python). >> >> Is this an issue that should be reported in the `grpc/grpc-go` repository >> or the main repository? and if so what would be the solution for this >> instance, since according to the >> https://github.com/grpc/grpc/blob/v1.35.0/doc/PROTOCOL-HTTP2.md >> documentation we can set a custom suffix `Content-Type → "content-type" >> "application/grpc" [("+proto" / "+json" / {custom})]` >> >> example: Go lang to Go lang >> >> ``` >> :method POST >> :scheme http >> :path /models.Greeter/SayHello >> :authority localhost:3000 >> content-type application/grpc+flatbuffers >> user-agent grpc-go/1.35.0 te trailers grpc-timeout 9997779u >> ``` >> As you can see if its being called from go lang it doesn't have issues >> however when I call the server from the python client it clearly doesn't >> append the +flatbuffers suffix >> >> python to Go lang >> >> ``` >> >> :scheme http >> >> :method POST >> :authority localhost:3000 >> :path /models.Greeter/SayHello >> te trailers >> content-type application/grpc >> user-agent grpc-python/1.35.0 grpc-c/14.0.0 (osx; chttp2) >> ``` >> >> i've tried this as a solution `with_call(hello_request, >> metadata=[('content-type', 'application/grpc+flatbuffers')])`. >> > -- 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/fb38e85a-d2c8-4f0b-a1f3-814370d92f16n%40googlegroups.com.
