Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/socket/tunnelbroker.js
// @flow | // @flow | ||||
import WebSocket from 'ws'; | import WebSocket from 'ws'; | ||||
import { SessionRequestMessage } from 'lib/types/tunnelbroker-messages.js'; | |||||
function createTunnelbrokerWebsocket() { | function createTunnelbrokerWebsocket() { | ||||
try { | try { | ||||
const tunnelbrokerSocket = new WebSocket('ws://localhost:51001'); | const tunnelbrokerSocket = new WebSocket('ws://localhost:51001'); | ||||
tunnelbrokerSocket.on('open', () => { | tunnelbrokerSocket.on('open', () => { | ||||
// TODO: Replace keyserver details with actual details | // TODO: Replace keyserver details with actual details | ||||
const message = { | const message: SessionRequestMessage = { | ||||
type: 'sessionRequest', | type: 'sessionRequest', | ||||
accessToken: 'foobar', | accessToken: 'foobar', | ||||
deviceId: 'foo', | deviceId: 'foo', | ||||
deviceType: 'keyserver', | deviceType: 'keyserver', | ||||
}; | }; | ||||
console.log( | console.log( | ||||
'Sending message to tunnelbroker: ' + JSON.stringify(message), | 'Sending message to tunnelbroker: ' + JSON.stringify(message), | ||||
); | ); | ||||
tunnelbrokerSocket.send(JSON.stringify(message)); | tunnelbrokerSocket.send(JSON.stringify(message)); | ||||
}); | }); | ||||
tunnelbrokerSocket.on('message', (message) => { | tunnelbrokerSocket.on('message', message => { | ||||
// TODO: Handle RefreshKeyMessage | // TODO: Handle RefreshKeyMessage | ||||
console.log('Received message from tunnelbroker: {}' + message); | console.log('Received message from tunnelbroker: {}' + message); | ||||
}); | }); | ||||
tunnelbrokerSocket.on('close', () => { | tunnelbrokerSocket.on('close', () => { | ||||
console.log('Connection to tunnelbroker closed'); | console.log('Connection to tunnelbroker closed'); | ||||
}); | }); | ||||
tunnelbrokerSocket.on('error', (event) => { | tunnelbrokerSocket.on('error', event => { | ||||
console.log('Tunnelbroker socket error: ' + event.message); | console.log('Tunnelbroker socket error: ' + event.message); | ||||
}); | }); | ||||
} catch (err) { | } catch (err) { | ||||
console.log('Failed to open connection with tunnelbroker'); | console.log('Failed to open connection with tunnelbroker'); | ||||
} | } | ||||
} | } | ||||
export { createTunnelbrokerWebsocket }; | export { createTunnelbrokerWebsocket }; |