Protocol and Reference Implementation
Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way. It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.
The protocol has been published as an Internet Draft that is maintained in this repository.
A reference, production-grade, implementation of a Mercure hub (the server) is also available in this repository. It's a free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and an official Docker image.
In addition, a managed and high-scalability version of the Mercure.rocks hub is available on Mercure.rocks.
This version of mercure
supports the following transports: bolt
, gdbm
, postgres
, and redis
. See
TRANSPORT.md for a detailed discussion of these.
See CONTRIBUTING.md.
See https://mercure.rocks/docs/hub/license.
Created by Kévin Dunglas. Graphic design by Laury Sorriaux. Sponsored by Les-Tilleuls.coop.