RacketMQ, an implementation of a W3C WebSub Hub.
Go to file
Tony Garnock-Jones 1c7b80606d Command-line configuration 2016-11-21 10:54:54 +13:00
racketmq Command-line configuration 2016-11-21 10:54:54 +13:00
.gitignore Server/client split; WIP 2016-10-29 07:16:29 -04:00
COPYING It should probably be called RacketMQ rather than RMQ 2016-11-20 16:27:06 +13:00
Makefile Stub nginx and letsencrypt config 2016-11-20 17:24:18 +13:00
README.md README.md contents 2016-11-20 16:27:13 +13:00
gpl.txt Initial commit 2015-09-30 12:17:50 -04:00
info.rkt Initial commit 2015-09-30 12:17:50 -04:00
lgpl.txt Initial commit 2015-09-30 12:17:50 -04:00
nginx.conf Stub nginx and letsencrypt config 2016-11-20 17:24:18 +13:00

README.md

RacketMQ: An implementation of W3C WebSub

This is an implementation of a W3C WebSub Hub in Racket, using the actor-style research language Syndicate.

What is WebSub?

On the 20th of October 2016, the W3C released a First Public Working Draft of (what was called at the time) PubSub, later renamed to WebSub.

See the specification of the W3C WebSub protocol at https://www.w3.org/TR/pubsub/ (and track its development at https://github.com/w3c/pubsub). N.B.: Those URLs will eventually have websub in place of pubsub.

Features

  • Offers both local topics, topics whose canonical hub is this hub, and remote topics, topics whose canonical hub is some other ("upstream") hub

  • Support for polling and push-notification for remote topics, with configurable poll interval

  • Uses HTTP Link headers when retrieving a topic to determine canonical hub and topic URLs; does not extract link elements from any kind of XML or HTML document, nor does it implement .host-meta discovery

  • Support for hub.secret and hub.lease_seconds protocol parameters

Conformance

At the time of writing, no official list of conformance criteria exists; however, there is a draft list of Candidate Recommendation implementation criteria at https://github.com/w3c/pubsub/issues/56.

Bug Reports

Please report issues using this project's Github issues page, https://github.com/tonyg/racketmq/issues.

License

Copyright © 2015, 2016 Tony Garnock-Jones tonyg@leastfixedpoint.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program (see the files "lgpl.txt" and "gpl.txt"). If not, see http://www.gnu.org/licenses/.