better test
This commit is contained in:
@@ -1,13 +0,0 @@
|
|||||||
import * as Back from './src/Backend';
|
|
||||||
import * as Front from './src/Frontend';
|
|
||||||
import * as Types from './src/Types';
|
|
||||||
import * as Utils from './src/Utils';
|
|
||||||
import * as Interfaces from './src/Interfaces';
|
|
||||||
|
|
||||||
export {
|
|
||||||
Back as Backend,
|
|
||||||
Front as Frontend,
|
|
||||||
Types,
|
|
||||||
Utils,
|
|
||||||
Interfaces,
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import * as Back from './src/backend/RPCSocketServer';
|
|
||||||
import * as Front from './src/frontend/RPCSocket';
|
|
||||||
|
|
||||||
export {
|
|
||||||
Back as Backend,
|
|
||||||
Front as Frontend
|
|
||||||
}
|
|
||||||
+10
-10
@@ -27,20 +27,20 @@ export class RPCServer<
|
|||||||
|
|
||||||
if(!conf.visibility) this.visibility = "127.0.0.1"
|
if(!conf.visibility) this.visibility = "127.0.0.1"
|
||||||
|
|
||||||
if(!conf.errorHandler) this.errorHandler =
|
this.errorHandler = (socket:I.Socket) => (error:any) => {
|
||||||
(socket:I.Socket) => (error:any) => {
|
if(conf.errorHandler) conf.errorHandler(socket, error)
|
||||||
socket.destroy();
|
socket.destroy();
|
||||||
console.error("Caught websocket error", String(error))
|
console.error("Caught websocket error", String(error))
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!conf.closeHandler) this.closeHandler =
|
this.closeHandler = (socket:I.Socket) => {
|
||||||
(socket:I.Socket) => () => {
|
if(!conf.closeHandler) console.log("Socket on port "+socket.port+" closing")
|
||||||
console.log("Socket on port "+socket.port+" closing")
|
else conf.closeHandler(socket)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!conf.connectionHandler) this.connectionHandler =
|
this.connectionHandler = (socket:I.Socket) => {
|
||||||
(socket:I.Socket) => {
|
if(!conf.connectionHandler) console.log("New websocket connection on port "+socket.port)
|
||||||
console.log("New websocket connection on port "+socket.port)
|
else conf.connectionHandler(socket)
|
||||||
}
|
}
|
||||||
|
|
||||||
let badRPC
|
let badRPC
|
||||||
@@ -60,8 +60,8 @@ export class RPCServer<
|
|||||||
try{
|
try{
|
||||||
this.io.attach(this.ws)
|
this.io.attach(this.ws)
|
||||||
this.io.on('socket', (socket:I.Socket) => {
|
this.io.on('socket', (socket:I.Socket) => {
|
||||||
socket.on('error', this.errorHandler(socket))
|
socket.on('error', (err) => this.errorHandler(socket, err))
|
||||||
socket.on('close', this.closeHandler(socket))
|
socket.on('close', ()=> this.closeHandler(socket))
|
||||||
this.connectionHandler(socket)
|
this.connectionHandler(socket)
|
||||||
this.initRPCs(socket)
|
this.initRPCs(socket)
|
||||||
})
|
})
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ export type Arg = string
|
|||||||
export type Name = Arg
|
export type Name = Arg
|
||||||
export type Owner = Name
|
export type Owner = Name
|
||||||
export type ConnectionHandler = (socket:I.Socket) => void
|
export type ConnectionHandler = (socket:I.Socket) => void
|
||||||
export type ErrorHandler = (socket:I.Socket) => (error:any) => void
|
export type ErrorHandler = (socket:I.Socket, error:any) => void
|
||||||
export type CloseHandler = (socket:I.Socket) => () => void
|
export type CloseHandler = (socket:I.Socket) => void
|
||||||
export type SocketConf = {
|
export type SocketConf = {
|
||||||
connectionHandler?: ConnectionHandler
|
connectionHandler?: ConnectionHandler
|
||||||
errorHandler?: ErrorHandler
|
errorHandler?: ErrorHandler
|
||||||
|
|||||||
+15
-8
@@ -21,7 +21,7 @@ function makeServer(){
|
|||||||
return {
|
return {
|
||||||
result: "Success",
|
result: "Success",
|
||||||
uuid: uuidv4(),
|
uuid: uuidv4(),
|
||||||
topic: ""
|
topic: "test"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},{
|
},{
|
||||||
@@ -31,25 +31,32 @@ function makeServer(){
|
|||||||
return {
|
return {
|
||||||
result: "Success",
|
result: "Success",
|
||||||
uuid: uuidv4(),
|
uuid: uuidv4(),
|
||||||
topic: ""
|
topic: "test"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onClose: (res, rpc) => {
|
onClose: (res, rpc) => {
|
||||||
console.log("Specific close handler for", rpc.name, res)
|
console.log("onClose", rpc.name === 'subscribe' && res?"OK":"")
|
||||||
subcallback = null
|
subcallback = null
|
||||||
},
|
},
|
||||||
onCallback: (...args:any) => { console.log.apply(console, args) }
|
onCallback: (...args:any) => {
|
||||||
|
console.log("onCallback", args[0] === "test" && args[1] === "callback"?"OK":"")
|
||||||
|
}
|
||||||
},
|
},
|
||||||
function add(...args:number[]):number {return args.reduce((a,b)=>a+b, 0)},
|
function add(...args:number[]):number {return args.reduce((a,b)=>a+b, 0)},
|
||||||
function triggerCallback(...messages:any[]):number {return subcallback.apply({}, messages)},
|
function triggerCallback(...messages:any[]):number {return subcallback.apply({}, messages)},
|
||||||
]
|
]
|
||||||
}])
|
}],{
|
||||||
|
connectionHandler: (socket) => { console.log("connectionHandler OK") },
|
||||||
|
closeHandler: (socket) => { console.log("closeHandler OK") },
|
||||||
|
errorHandler: (socket, err) => { console.error("errorHandler OK SO YOU SHOULDN'T SEE THIS"); throw err }
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
let server: RPCServer<{ topic: string}>
|
|
||||||
|
|
||||||
describe('RPCServer', () => {
|
describe('RPCServer', () => {
|
||||||
before(async(done) => {
|
let server: RPCServer<{ topic: string}>
|
||||||
|
|
||||||
|
before((done) => {
|
||||||
server = makeServer()
|
server = makeServer()
|
||||||
done()
|
done()
|
||||||
})
|
})
|
||||||
@@ -84,7 +91,7 @@ describe('RPCSocket', () => {
|
|||||||
return await client.connect()
|
return await client.connect()
|
||||||
})
|
})
|
||||||
|
|
||||||
after(async() => {
|
after(() => {
|
||||||
client.destroy()
|
client.destroy()
|
||||||
server.destroy()
|
server.destroy()
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user