Brilliant, thanks for this! I'll go check them out.
For example, any HTTP client can receive server-sent events in the wire-level HTTP sense, like curl [1], which will just print all data being streamed to it until you abort; but it doesn't provide an API equivalent to the onMessage semantics like you get in the browser. To understand the distinction, see this github issue about adding "support" for Server-Side Events for another HTTP client here [2]. If your HTTP client library of choice doesn't provide the semantics you want, you may be able to build them in yourself.