solid-notification-client
Version:
Client library for Solid Notifications Protocol v0.2.0
19 lines (18 loc) • 1.09 kB
TypeScript
import { Session } from "@rubensworks/solid-client-authn-isomorphic";
import { WebSocket } from 'ws';
export declare class WebSocketChannel2023 {
private session;
constructor(session?: Session);
/**
* Retrieves the Websocket URL by following the {@link https://solidproject.org/TR/notifications-protocol|notification protocol v0.2.0.}
*
* Discovers from the topic resource the storage description resource.
* Using the contents of the storage description resource, a search is executed to find the WebSocketChannel2023 channel URL.
* Finally, a POST request is send to the WebSocketChannel with as content the topic and features.
* @param topic - The resource in the solid pod that you want to subscribe to.
* @param features - Which features should be in the message of the notification channel.
* @returns The websocket URL of the Solid pod for this resource.
*/
subscribe(topic: string, features: Record<string, unknown>): Promise<string>;
webSocket(topic: string, features: Record<string, unknown>): Promise<WebSocket>;
}