A server implementing the Mercure SSE specification
Go to file
Christopher Vagnetoft d310060309 Bugfix topicmanager
* Unsubscribing wouldn't always remove the subscriber.
2024-03-11 01:50:34 +01:00
bin Added makefile, cleanup 2024-03-11 01:05:09 +01:00
doc Initial commit 2024-03-10 03:06:19 +01:00
src Bugfix topicmanager 2024-03-11 01:50:34 +01:00
.gitignore Initial commit 2024-03-10 03:06:19 +01:00
composer.json Phar config 2024-03-10 13:55:42 +01:00
composer.lock Misc fixes, readme, comments 2024-03-10 16:23:46 +01:00
LICENSE Initial commit 2024-03-10 03:06:19 +01:00
Makefile Fixed topic gc bug 2024-03-11 01:40:05 +01:00
phpstan.neon Misc fixes, readme, comments 2024-03-10 16:23:46 +01:00
README.md Fixed topic gc bug 2024-03-11 01:40:05 +01:00

Mercureact

This is an implementation of the Mercure realtime protocol on steroids, built using ReactPHP.

Mercureact is under development, and not ready for use in anything important.

It is intended to be used standalone, but it may also be integrated into another PHP application.

Installing

As PHAR:

  • Download the latest release from the forge.

As Composer dependency:

  • composer require noccylabs/mercureact

Using as PHAR

TODO.

# Make a copy of the dist config and edit it
$ cp mercureact.conf.dist mercurect.conf
$ editor mercureact.conf
# Use the config file when launching
$ ./mercureact.phar -c mercureact.conf

Using as dependency

TODO.

ToDos

  • Read config from file
  • Security Security Security
    • Check JWTs on connect
    • Check claims on subscribe and publish
    • WebSocket authentication
    • Extract JWT claims to request attributes, instead of JWTToken
  • Subscription/Topic manager
    • Unify distribution
    • Enumerate subscriptions and topics
  • Publish events
  • Server-Side Events distributor
    • Distribute events over SSE
  • WebSocket distributor
    • Setup subscriptions
    • Dynamic subscriptions
    • Distribute events over WS
  • Break out HTTP middleware into classes
  • HTTP middleware unittests