New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Client stream with unary response not returning response #105
Comments
Hi @seanhagen, thanks for trying out the new ClientStream and BiDiStream code generation, let's try and get this working :)
Without seeing your code which invokes the client and sends the data I'm going to take a wild stab in the dark and check that you are invoking If you are invoking Thanks! |
Hi @seanhagen were you able to provide a repro for this issue? Thanks! |
Okay, things have been busy here but finally got a repro repo up: https://github.com/Z2hMedia/client-stream-repro The backend we used to test is in go, here's a gist for how the methods are implemented: https://gist.github.com/seanhagen/49634abdaa3ddd5da1953948e01f8a37 |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Would love to see this issue reopened. The repo @seanhagen links to above illustrates the problem perfectly. Because of this behavior, I've resorted to using the general |
Just to point this out, the generated code for a client side stream looks like:
There seems to be no way to get the final response from the server. |
In the latest version, streaming has been enabled -- which is awesome.
In testing this out against an example service, we're able to get two of the three types of streaming working:
The problem is that while the server gets all the messages sent by the client when
StreamIn
is called, the client doesn't receive the response when it's indicated that its's finished sending.Looking at other languages, when doing client streaming they usually have a method
CloseAndRecv()
, which lets the server know the client is done streaming and it can do what it needs to do before sending the response (and/or error).When using the grpc-web Websocket transport or a hacked default transport* then the server receives the messages sent by the client, but the client doesn't receive the final message/error from the server when
finishSend
is called.* hacking Transport.ts to remove the following (because fetch/websockets now allow request streaming):
The text was updated successfully, but these errors were encountered: