PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@polkadot/rpc-provider/mock

Просмотр файла: mockWs.js

import { Server, WebSocket } from 'mock-socket';
import { stringify } from '@polkadot/util';
global.WebSocket = WebSocket;
export const TEST_WS_URL = 'ws://localhost:9955';
function createError({ error: { code, message }, id }) {
    return {
        error: {
            code,
            message
        },
        id,
        jsonrpc: '2.0'
    };
}
function createReply({ id, reply: { result } }) {
    return {
        id,
        jsonrpc: '2.0',
        result
    };
}
export function mockWs(requests, wsUrl = TEST_WS_URL) {
    const server = new Server(wsUrl);
    let requestCount = 0;
    const scope = {
        body: {},
        done: () => new Promise((resolve) => server.stop(resolve)),
        requests: 0,
        server
    };
    server.on('connection', (socket) => {
        socket.on('message', (body) => {
            const request = requests[requestCount];
            const response = request.error
                ? createError(request)
                : createReply(request);
            scope.body[request.method] = body;
            requestCount++;
            socket.send(stringify(response));
        });
    });
    return scope;
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!