Registry / database / rethinkdb-websocket-server

rethinkdb-websocket-server

JSON →
library0.6.0jsnpmunverified

Node.js WebSocket server that proxies queries to a RethinkDB instance with query validation. Version 0.6.0 (stable, low release cadence). Supports query whitelisting via pattern matching to restrict client queries. Works with rethinkdb-websocket-client for browser RethinkDB access. Differentiator: enforces server-side query validation unlike raw RethinkDB proxy solutions.

npm install rethinkdb-websocket-server
INSTALL
IMPORT
SIG · RETHINKDB-WEBSOCKE
R
rethinkdb-websocket-server
databasejavascriptv0.6.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

listen
const { listen } = require('rethinkdb-websocket-server');
const listen = require('rethinkdb-websocket-server').listen;
CommonJS usage; no ESM export
r
const { r } = require('rethinkdb-websocket-server');
const r = require('rethinkdb');
r is the RethinkDB driver instance from the package
RP
const { RP } = require('rethinkdb-websocket-server');
const RP = require('rethinkdb-websocket-server').RP;
RP is the query pattern builder

Minimal WebSocket server that forwards all RethinkDB queries without validation.

const http = require('http'); const { listen } = require('rethinkdb-websocket-server'); const httpServer = http.createServer(); listen({ httpServer: httpServer, unsafelyAllowAnyQuery: true }); httpServer.listen(8000, () => { console.log('WebSocket server listening on ws://localhost:8000'); });
Debug
Known issues
gotchaunsafelyAllowAnyQuery bypasses all query validation, exposing the database to any query.
fix
Use query whitelist via sessionCreator and queryWhitelist for production.
affects: >=0.0.0
deprecatedThe package does not use ESM; only CommonJS require is supported.
fix
Use require() syntax; no import available.
affects: >=0.0.0
gotchaSession creator must be synchronous or return a Promise; asynchronous callbacks not supported.
fix
Return a Promise from sessionCreator.
affects: >=0.0.0
breakingBreaking change in v0.5.0: listen() now returns an object with close() method; previously returned nothing.
fix
Capture the return value to close the WebSocket server later.
affects: >=0.5.0
Errors
Common errors & fixes
Error: listen() requires {httpServer: ...}
Missing httpServer option in options object.
fix
Ensure options.httpServer is a valid http.Server.
ReferenceError: r is not defined
Using r without importing it from rethinkdb-websocket-server.
fix
Use const { r } = require('rethinkdb-websocket-server');
Error: sessionCreator must return a session object
sessionCreator returns undefined or non-object.
fix
Return a session object (e.g., {userId: '...'}) from sessionCreator.
Upgrade
Version history
0.6.0latest on npm
Audit
Dependencies
rethinkdbrequiredUses RethinkDB JavaScript driver for query validation and TCP connection
wsrequiredWebSocket server implementation
Agent activity
10 hits · last 30 days
node
10
Resources
rethinkdb-websocket-server — npm install rethinkdb-websocket-server · libregistry