
Product
A New Overview in our Dashboard
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
websocket-rpc-protocol
Advanced tools
A JSON RPC protocol for working over websockets. Sheds the weight of JSON RPC to simplify argument names and adds features.
Client and server libraries for handling RPC calls between the browser and a Cloudflare websocket interface. The client library will automatically try to reconnect after being disconnected from the server. For details on the protocol see PROTOCOL.md.
npm install websocket-rpc-protocol
import server from 'websocket-rpc-protocol/server';
createServer(websocket, ({ push }) => {
// Any state that could be built up over type during the connection of this single client (user id, etc)
let userState = {};
// Add any functions you want, only those returned will be public
function privateFunction() {
// do something not exposed to the client
}
// Define functions which will be exposed for calling by the client
function sayHi(name?: string) {
return `Hello ${name || 'world'}!`;
}
// return the public API
return {
sayHi,
namespace: {
sayBye(name?: string) {
return `Goodbye cruel ${name || 'world'}!`;
}
}
};
});
import createClient from 'websocket-rpc-protocol/client';
interface API {
sayHi(name?: string): Promise<string>;
}
const client = createClient<API>('wss://url-to-server');
// Call the method directly, TypeScript will support it and the method will be proxied using the send() method
await client.sayHi(); // Hello world!
await client.sayHi('everyone'); // Hello everyone!
await client.namespace.sayBye(); // Goodbye cruel world!
console.log(client.get());
/*
Outputs:
{
online: true, // Whether the browser's APIs think the browser is online
connected: true, // Whether the websocket is connected
authed: true, // If the connection has been successfully authenticated with a JWT
serverTimeOffset: 20, // The offset in milliseconds between the client and the server
}
*/
FAQs
A JSON RPC protocol for working over websockets. Sheds the weight of JSON RPC to simplify argument names and adds features.
The npm package websocket-rpc-protocol receives a total of 18 weekly downloads. As such, websocket-rpc-protocol popularity was classified as not popular.
We found that websocket-rpc-protocol demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
We redesigned Socket's first logged-in page to display rich and insightful visualizations about your repositories protected against supply chain threats.
Product
Automatically fix and test dependency updates with socket fix—a new CLI tool that turns CVE alerts into safe, automated upgrades.
Security News
CISA denies CVE funding issues amid backlash over a new CVE foundation formed by board members, raising concerns about transparency and program governance.