Skip to content

WIP: Implement WebSub protocol for ASGI apps! 🚀

License

Notifications You must be signed in to change notification settings

Kludex/asgi-websub

Repository files navigation

asgi-websub

Latest Commit
Package version

This project implements WebSub for ASGI applications.

Code inspiration:

Installation

pip install asgi-websub

Roadmap

For the purposes of evaluating exit criteria, each of the following is considered a feature:

  • Discovering the hub and topic URLs by looking at the HTTP headers of the resource URL.
  • Discovering the hub and topic URLs by looking at the contents of the resource URL as an XML document.
  • Discovering the hub and topic URLs by looking at the contents of the resource URL as an HTML document.
  • Subscribing to the hub with a callback URL.
  • Subscribing to the hub and requesting a specific lease duration.
  • Subscribing to the hub with a secret and handling authenticated content distribution.
  • 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

License

This project is licensed under the terms of the MIT license.

About

WIP: Implement WebSub protocol for ASGI apps! 🚀

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages