UNPKG

rpc-websocketserver

Version:

Simple rpc websocket server, wrapping the very popular 'ws' library. Register your RPCs with convenient decorators.

28 lines (27 loc) 1.23 kB
/// <reference types="node" /> import WebSocket from 'ws'; import { Method, MessageHandler, HandlerResult } from '../interfaces'; /** * JSON RPC 2 conform message handler * * @implements {MessageHandler} */ declare class JSONRPC2MessageHandler implements MessageHandler { /** * Handles an incoming message conforming to the JSON RPC 2 protocol * * @param message {string | Buffer} - message to be parsed, validated and evaluated * @param registeredMethods {Map<string, Method>} - registered namespace methods * @returns {HandlerResult} - result object to be processed */ handle(message: string | Buffer, registeredMethods: Map<string, Method>): HandlerResult; /** * Function to process handler result. Should call rpc and return a JSON RPC 2 conform response * * @param context {any} - context of the calling class to properly handle 'this' in the function call * @param handlerResult {HandlerResult} - handler result from same message handler * @returns {Promise<WebSocket.Data | undefined>} */ process(context: any, handlerResult: HandlerResult): Promise<WebSocket.Data | undefined>; } export default JSONRPC2MessageHandler;