UNPKG

lisk-framework

Version:

Lisk blockchain application platform

37 lines (36 loc) 1.25 kB
/// <reference types="node" /> import { Logger } from '../../logger'; import { RPCConfig } from '../../types'; export interface RequestContext { params: Record<string, unknown>; chainID: Buffer; logger: Logger; } export type Handler = (context: RequestContext) => Promise<unknown>; export type NotFoundHandler = (namespace: string, mehtod: string, context: RequestContext) => Promise<unknown>; export declare class RPCServer { private readonly _config; private readonly _ipcServer?; private readonly _wsServer?; private readonly _httpServer?; private readonly _rpcHandler; private _notFoundHandler?; private _logger; private _chainID; constructor(dataPath: string, config: RPCConfig); init(options: { logger: Logger; chainID: Buffer; }): void; start(): Promise<void>; stop(): void; publish(eventName: string, data: Record<string, unknown>): Promise<void>; registerEndpoint(namespace: string, method: string, handler: Handler): void; registerNotFoundEndpoint(handler: NotFoundHandler): void; private _handleIPCRequest; private _handleRequest; private _publishIPC; private _publishWS; private _getHandler; private _isAllowedMethod; }