elf Pavlik cb38613b4c
feat: Add support for StreamingHTTPChannel2023 notifications
* feat: initial StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: unit for StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: integration for StremingHTTPChannel2023 notifications

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* emit initial notification on streaming http channel

* fix linting erros

* ensure canceling fetch body in integration tests

* extract defaultChannel for topic into util

* add documentation

* Apply suggestions from code review

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* only generate notifications when needed

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* test: set body timeout to pass on node >21

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>

* address review feedback

* remove node 21 workaround

* add architecture documentation

* Apply suggestions from code review

Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>

---------

Co-authored-by: Maciej Samoraj <maciej.samoraj@gmail.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
2024-05-22 08:58:26 +02:00
..
2023-10-06 08:39:42 +02:00

HTTP

Options related to the base support of HTTP requests by the server.

Handler

Sets up all the handlers a request will potentially pass through.

  • default: The full setup, that is middleware + static files + IDP + LDP.
  • simple: A simpler setup in which the IDP is disabled.

Middleware

A set of handlers that will always be run on all requests to add some metadata and then pass the request along.

  • default: The default setup with several handlers.

Notifications

Determines how notifications should be sent out from the server when resources change.

  • all: Supports all available notification types of the Solid Notifications protocol specification. Currently, this includes WebhookChannel2023 and WebSocketChannel2023.
  • disabled: No notifications are sent out.
  • legacy-websocket: Follows the legacy Solid WebSocket specification. Will be removed in future versions.
  • new-old-websockets.json: Support for both the legacy Solid Websockets and the new WebSocketChannel2023.
  • webhooks: Follows the WebhookChannel2023 specification draft.
  • websockets: Follows the WebSocketChannel2023 specification.

Server-Factory

The factory used to create the actual server object.

  • http: A HTTP server.
  • https: A HTTPS server.
  • https-no-cli-example: An example of how to set up an HTTPS server by defining the key/cert paths directly in the config itself.

Static

Support for static files that should be found at a specific path.

  • default: The default handler with a favicon and css for the IDP. New entries can easily be added for new files.