mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
17 lines
783 B
JavaScript
17 lines
783 B
JavaScript
export const startPkcRpcServer = async ({ PKCRpcModule, port, pkcOptions, authKey, isDev = false, logger = console }) => {
|
|||
|
|
const pkcWebSocketServer = await PKCRpcModule.PKCWsServer({ port, pkcOptions, authKey });
|
||
|
|
pkcWebSocketServer.on('error', (e) => logger.log('pkc rpc error', e));
|
||
|
|
|
||
|
|
logger.log(`pkc rpc: listening on ws://localhost:${port} (local connections only)`);
|
||
|
|
logger.log(`pkc rpc: listening on ws://localhost:${port}/${authKey} (secret auth key for remote connections)`);
|
||
|
|
pkcWebSocketServer.ws.on('connection', (socket) => {
|
||
|
|
logger.log('pkc rpc: new connection');
|
||
|
|
// debug raw JSON RPC messages in console
|
||
|
|
if (isDev) {
|
||
|
|
socket.on('message', (message) => logger.log(`pkc rpc: ${message.toString()}`));
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
return pkcWebSocketServer;
|
||
|
|
};
|