Socket
Socket
Sign inDemoInstall

@push-rpc/core

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@push-rpc/core - npm Package Compare versions

Comparing version 1.6.2 to 1.6.3

4

dist/client.js

@@ -123,4 +123,6 @@ "use strict";

timer = setTimeout(function () {
if (!connected_1)
if (!connected_1) {
socket_1.disconnect();
reject(new Error("Connection timeout"));
}
}, this.opts.connectionTimeout);

@@ -127,0 +129,0 @@ if (timer.unref) {

{
"name": "@push-rpc/core",
"version": "1.6.2",
"version": "1.6.3",
"main": "dist/index.js",

@@ -21,3 +21,3 @@ "types": "dist/index.d.ts",

},
"gitHead": "b9fbe8dfcc2461679e7cfb0ee0268a1082777f50"
"gitHead": "2fedd40f524d4802b070aa879e05cb9b43222890"
}

@@ -93,3 +93,6 @@ import {RpcSession} from "./RpcSession"

const timer = setTimeout(() => {
if (!connected) reject(new Error("Connection timeout"))
if (!connected) {
socket.disconnect()
reject(new Error("Connection timeout"))
}
}, this.opts.connectionTimeout)

@@ -96,0 +99,0 @@

import {assert} from "chai"
import {createNodeWebsocket} from "../../websocket/src"
import {createRpcClient, RpcClient} from "../src"
import {createRpcClient, RpcClient, Socket} from "../src"
import {createTestClient, startTestServer, TEST_PORT} from "./testUtils"

@@ -252,2 +252,121 @@

})
it("out of band client connect/disconnect", async () => {
let connectionsHistory = []
const rpcServer = await startTestServer({
test: {
async call() {},
},
})
const client = await createRpcClient(
1,
async () => createNodeWebsocket(`ws://localhost:${TEST_PORT}`),
{
reconnect: true,
reconnectDelay: 0,
listeners: {
connected() {
connectionsHistory.push("C")
},
disconnected() {
connectionsHistory.push("D")
},
messageOut() {},
messageIn() {},
unsubscribed() {},
subscribed() {},
},
}
)
await rpcServer.disconnectClient(rpcServer.getConnectedIds()[0])
await new Promise(r => setTimeout(r, 100))
await client.disconnect()
await new Promise(r => setTimeout(r, 100))
assert.deepEqual(connectionsHistory, ["C", "D", "C", "D"])
})
it("connection timeout generates correct events`", async () => {
let connectionsHistory = []
let connection = 0
const connectionTimeout = 200
const rpcServer = await startTestServer(
{
test: {
async call() {},
},
},
{
createConnectionContext: async () => ({
remoteId: "client",
}),
}
)
const client = await createRpcClient(
1,
async () => {
const socket = createNodeWebsocket(`ws://localhost:${TEST_PORT}`)
connection++
// console.log("Create socket, connection " + connection)
if (connection == 2) {
// simulate connection timeout
const realOnOpen = socket.onOpen
let timer = null
socket.onOpen = h => {
realOnOpen.call(socket, () => {
timer = setTimeout(h, connectionTimeout + 200)
})
}
const realDisconnect = socket.disconnect
socket.disconnect = () => {
clearTimeout(timer)
realDisconnect.call(socket)
}
}
return socket
},
{
reconnect: true,
reconnectDelay: 0,
errorDelayMaxDuration: 0,
connectionTimeout,
listeners: {
connected() {
connectionsHistory.push("C")
},
disconnected() {
connectionsHistory.push("D")
},
messageOut() {},
messageIn() {},
unsubscribed() {},
subscribed() {},
},
}
)
await rpcServer.disconnectClient(rpcServer.getConnectedIds()[0])
await new Promise(r => setTimeout(r, 1500))
// console.log(connectionsHistory)
assert.deepEqual(connectionsHistory, ["C", "D", "C"])
await client.disconnect()
})
})
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc