Thanks Michael! You are right. I mistakenly concluded that response message is missing the doc for length prefixed message, and forgot that request section has the details. Created https://github.com/grpc/grpc/pull/19450 to add a reference.
On Wed, Jun 19, 2019 at 2:49 PM Michael Lumish <[email protected]> wrote: > You can find the relevant part of the protocol specification doc you > linked to by looking for "Length-Prefixed-Message". The sequence of DATA > frames is treated as a byte stream containing one or more of > those Length-Prefixed-Message. Then each message is arbitrary binary data. > If it is a protobuf message then it can be decoded as usual with protobuf. > The stream decoder implementation > <https://github.com/grpc/grpc-node/blob/master/packages/grpc-js/src/stream-decoder.ts> > in > the JavaScript library might help understand this. That function handles a > single DATA frame at a time. > > On Wed, Jun 19, 2019 at 2:35 PM <[email protected]> wrote: > >> Hi All, >> >> Given a stream of raw HTTP2 traffic between a gRPC server and client, how >> to extract the protobufs? >> >> We were following gRPC over HTTP2 >> <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>. We are >> stuck in how to extract the encoded protobuf binary string from the HTTP2 >> DATA frame. And the spec does not go into more details about the format of >> how protobuf binary strings are encoded in DATA frames. >> >> We were trying to read the gRPC source code >> <https://github.com/grpc/grpc> to figure out the protocol, but could not >> identify the right APIs. >> >> Why? We are sort of reverse-engineering the gRPC protocol. And try to >> extract the traffic outside of the gRPC server and client, and convert them >> back into protobufs. >> >> Any pointers on docs that explain the format, or to the APIs inside gRPC >> source code would be highly appreciated. >> >> -- >> 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/d1538cca-a204-4655-a142-67a2a45e053d%40googlegroups.com >> <https://groups.google.com/d/msgid/grpc-io/d1538cca-a204-4655-a142-67a2a45e053d%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- 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/CABYNn7E77u%2BrMW2n4Rt_Jf1XUGcyM8%3DcudAOuOcSUoeOt%2BhBtw%40mail.gmail.com.
