e2core icon indicating copy to clipboard operation
e2core copied to clipboard

Long-lived HTTP push support in stream connections

Open flaki opened this issue 3 years ago • 0 comments

Okay so I must preface this with that this is the first time I'm seeing something like this since at least a decade. WebSockets exist so I'm not entirely sure why Twitter chose this way to expose their streaming endpoint, but they did, and I wanted us to have an issue for this as it may come up later again.

During recent exploration of the Twitter API I came across their approach to streaming tweets as they happen. It seems to be that instead of using something standard like websockets, they opted to use something a bit more esoteric: a long-lived HTTP connection that receives incoming "chunks" as they happen:

https://github.com/twitterdev/Twitter-API-v2-sample-code/tree/main/Filtered-Stream

This, as can be seen from the examples, is perfectly suited for the stream connections we have, and utterly unsuited to be implemented in a Runnable (as it, by definition, wants to be a long-running daemon), so I was wondering if we would consider supporting this usecase?

flaki avatar May 17 '22 18:05 flaki