What gRPC language are you using? On Thursday, June 27, 2019 at 4:56:03 AM UTC-7, ivan topchiisky wrote: > > Hello gRPC team, my name is Ivan and I am currently working on a project > that involves gRPC for client to server communication. So far everything is > going well and we are glad that choose gRPC, thumbs up for your good work. > > Lately I found myself in the following situation and i was hoping you can > show me the right way forwards. Initially my services were supposed to only > support unary calls and I wanted to create a mechanism that validates the > messages before they reach the service logic. That's why I thought using > interceptors will solve my problem. I created interceptor that returns new > ForwardingServerCallListener and I overrided the onMessage method so in > there I validate the incoming message and if it has malformed data, I > simply call call.sendHeaders, call.sendMessage and call.close to cancel the > call and return it to the sender. One other feature that this interceptor > has is, in case of validation failure the delegate() method of the > ForwardingServerCallListener returns empty(no operation) Listener, so no > further propagation of the servercall is made. > For unary calls this so far works as intended, but now I need to support > streaming as well, and this approach does not seems to work. If a couple of > messages are being sent over the stream and a malformed one comes, sending > the headers breaks the server to client stream. And in general i feel for > streaming this is not the right approach. Can you point me to a solution > for this problem, validating the incoming messages over a stream with the > option of canceling a message if it is bad and doing so in interceptor? > > Cheers, > Ivan. > >
-- 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/6accc0c8-368f-437e-83b7-0a2d4798cbe6%40googlegroups.com.
