jinaga
Version:
Data management for web and mobile applications.
29 lines • 1.44 kB
TypeScript
import { WebSocket } from "ws";
import { Authorization } from "../authorization/authorization";
import { Specification } from "../specification/specification";
import { ReferencesByName } from "../storage";
import { UserIdentity } from "../user-identity";
import { InverseSpecificationEngine } from "./inverse-specification-engine";
import { BookmarkManager } from "./bookmark-manager";
import { DistributionEngine } from "../distribution/distribution-engine";
export type FeedResolver = (feed: string) => Specification;
export type FeedInfoResolver = (feed: string) => {
specification: Specification;
namedStart: ReferencesByName;
};
export declare class AuthorizationWebSocketHandler {
private readonly authorization;
private readonly resolveFeed;
private readonly inverseEngine;
private readonly bookmarks;
private readonly distributionEngine?;
private readonly resolveFeedInfo?;
private readonly subscriptions;
private readonly buffers;
constructor(authorization: Authorization, resolveFeed: FeedResolver, inverseEngine: InverseSpecificationEngine, bookmarks: BookmarkManager, distributionEngine?: DistributionEngine | undefined, resolveFeedInfo?: FeedInfoResolver | undefined);
handleConnection(socket: WebSocket, userIdentity: UserIdentity | null): void;
private pushChunk;
private handleSub;
private handleUnsub;
}
//# sourceMappingURL=authorization-websocket-handler.d.ts.map