signalk-server
Version:
An implementation of a [Signal K](http://signalk.org) server for boats.
40 lines • 1.45 kB
TypeScript
/**
* Binary Stream WebSocket Endpoints
*
* Provides WebSocket endpoints for high-frequency binary data streaming
* from WASM plugins (radar spokes, AIS targets, etc.)
*/
import { IncomingMessage } from 'http';
import { Server as HttpServer } from 'http';
import { Server as HttpsServer } from 'https';
import { SecurityStrategy, WithSecurityStrategy } from '../../security';
import { binaryStreamManager } from './binary-stream-manager';
/**
* Extended security strategy with WebSocket authentication methods.
* These methods are implemented by tokensecurity.js and dummysecurity.ts
* but not declared in the base SecurityStrategy interface.
*/
interface WebSocketSecurityStrategy extends SecurityStrategy {
shouldAllowWrite?: (request: IncomingMessage, requestType: string) => boolean;
authorizeWS?: (request: IncomingMessage) => void;
}
/**
* Application with HTTP server for WebSocket upgrades
*/
interface WithServer {
server: HttpServer | HttpsServer | null;
}
/**
* Application interface for binary stream initialization
*/
interface StreamApplication extends WithServer, Omit<WithSecurityStrategy, 'securityStrategy'> {
securityStrategy: WebSocketSecurityStrategy;
}
/**
* Initialize binary stream WebSocket endpoints
*
* @param app - SignalK application instance
*/
export declare function initializeBinaryStreams(app: StreamApplication): void;
export { binaryStreamManager };
//# sourceMappingURL=index.d.ts.map