A blazingly fast drop-in replacement for the Mastodon streaming API server
Go to file
Daniel Sockwell 23eaa4a270 Implement basic Server Sent Events with Warp
This commit rolls up several days of work that took place in a side repo
which was originally intended to be a test/proof-of-concept repo but
that grew into a full implementation.

This implementation switches to Warp as the framework for the primary
web server (in large part because Warp offers built-in support for
SSE and several other advantages).  This implementation relies on
a custom Redis interface built on Tokio (because the current Redis
Rust crate does not support asnyc PubSub).  Using a custom interface
should also be faster, since it does not contain logic for anything
other than pubsub—which is all we need.

Finally, I note that the SSE support is currently as feature-complete
as it is possible to be without having yet added the Postgress interface
this means that all of the endpoints are present and are accessible
on localhost.  However, none of the endpoints have authentication yet,
and the endpoints that should provide user-specific data (e.g.,
`/api/v1/streaming/user`) are currently hard-coded to provide data for
user 1 (the admin).  Other than those limitations, however, the SSE
implementation is feature complete.
2019-04-15 14:22:44 -04:00
src Implement basic Server Sent Events with Warp 2019-04-15 14:22:44 -04:00
.gitignore Initial project files 2019-02-11 09:45:14 +01:00
Cargo.lock Added structures for env variables 2019-02-19 20:29:32 +01:00
Cargo.toml Added structures for env variables 2019-02-19 20:29:32 +01:00
LICENSE Initial commit 2019-02-08 10:35:26 +01:00
README.md Initial project files 2019-02-11 09:45:14 +01:00

README.md

RageQuit

A blazingly fast drop-in replacement for the Mastodon streaming api server

Usage

$ ragequit --port 4002    # Default port is 3666