question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Implement proper server-side streaming for `application/grpc-web+proto` content-type

See original GitHub issue

As mentioned in the README, the grpcweb mode only supports unary method calls. It should at the very least also support server streaming calls.

Issue Analytics

  • State:open
  • Created 5 years ago
  • Reactions:1
  • Comments:10 (2 by maintainers)

github_iconTop GitHub Comments

3reactions
wenbozhucommented, Dec 24, 2018

@jared2501 Yes, we are working on this.

Binary streams support hasn’t been a priority for us as we use a yet-to-be-published text based encoding format for protobuf. Also cookie domains can’t serve binary data due to security issues.

The main use case to support fetch is to run grpc-web from service workers. The buffering issue is definitely a concern too.

OTOH, long-lived server-push will have other issues to deal with, e.g. keep-alive. We plan to publish a spec for this soon.

1reaction
jared2501commented, Dec 24, 2018

I’d be really interested in seeing a fetch implementation, even if it requires some sort of flag to select. Afaik XHR will keep the full response in-memory as long as the request is in progress, therefore for long-lived server streaming methods (such as subscription-style notifications endpoints) grpc-web is untenable.

We’re using improbably-eng’s grpc-web fetch transport and it works great. Would move over to code from this repository as soon as there’s a fetch implementation!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Implement proper server-side streaming for `application/grpc ...
Implement proper server-side streaming for `application/grpc-web+proto` content-type.
Read more >
How to Set Up gRPC Server-Side Streaming with Go
Yes, that's what this article is about. Today I will be showing you how to implement gRPC server-side streaming with Go.
Read more >
Implement server-streaming gRPC in Go - DEV Community ‍ ‍
First we will define a new server-streaming RPC in the proto file to search for laptops with some specific requirements. Then ...
Read more >
Streaming Server-Side Rendering - Patterns.dev
Streaming Server-Side Rendering ... while still server rendering our application by streaming server rendering the ... "x-content-type-options": "nosniff".
Read more >
Cloud Run now supports HTTP/gRPC server streaming
Here are some example use cases for server-side HTTP streaming: Streaming large files (such as videos) from your serverless applications. Long- ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found