Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kludex/asgi-websub
WIP: Implement WebSub protocol for ASGI apps! :rocket:
https://github.com/kludex/asgi-websub
Last synced: 26 days ago
JSON representation
WIP: Implement WebSub protocol for ASGI apps! :rocket:
- Host: GitHub
- URL: https://github.com/kludex/asgi-websub
- Owner: Kludex
- License: mit
- Created: 2021-02-07T17:11:14.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-02-10T02:05:57.000Z (almost 4 years ago)
- Last Synced: 2024-10-07T18:21:52.200Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 37.1 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
asgi-websub
This project implements WebSub for ASGI applications.
Code inspiration:
- https://github.com/ShadowJonathan/pywebsub/
- https://github.com/encode/starlette/
- https://github.com/django/asgiref/blob/master/asgiref/typing.py
- https://github.com/hemerajs/websub-hub## Installation
``` bash
pip install asgi-websub
```## Roadmap
For the purposes of evaluating exit criteria, each of the following is considered a feature:
- [X] Discovering the hub and topic URLs by looking at the HTTP headers of the resource URL.
- [X] Discovering the hub and topic URLs by looking at the contents of the resource URL as an XML document.
- [X] Discovering the hub and topic URLs by looking at the contents of the resource URL as an HTML document.
- [X] Subscribing to the hub with a callback URL.
- [X] Subscribing to the hub and requesting a specific lease duration.
- [ ] Subscribing to the hub with a secret and handling authenticated content distribution.
- [X] Requesting that a subscription is deactivated by sending an unsubscribe request.
- [ ] The Subscriber acknowledges a pending subscription on a validation request.
- [ ] The Subscriber rejects a subscription validation request for an invalid topic URL.
- [ ] The Subscriber returns an HTTP 2xx response when the payload is delivered.
- [ ] The Subscriber verifies the signature for authenticated content distribution requests.
- [ ] The Subscriber rejects the distribution request if the signature does not validate.
- [ ] The Subscriber rejects the distribution request when no signature is present if the subscription was made with a secret.
- [ ] The Hub respects the requested lease duration during a subscription request.
- [ ] The Hub allows Subscribers to re-request already active subscriptions, extending the lease duration.
- [ ] The Hub sends the full contents of the topic URL in the distribution request.
- [ ] The Hub sends a diff of the topic URL for the formats that support it.
- [ ] The Hub sends a valid signature for subscriptions that were made with a secret.## Resources
- https://documentation.superfeedr.com/
- https://websub.rocks/## License
This project is licensed under the terms of the MIT license.