Relay.Client
Relay.Client
is the basic connection to Relay, allowing you send commands to Relay and setup handlers for inbound events.
Constructor
Constructs a client object to interact with Relay.
Parameters
Parameter | Type | Default | Description |
---|---|---|---|
project | string | required | Project ID from your SignalWire Space |
token | string | required | Token from your SignalWire Space |
Example
Create a Client to interact with the Relay API.
const client = new RelayClient({
project: 'my-project-id',
token: 'my-project-token'
})
Properties
Property | Type | Description |
---|---|---|
connected | boolean | Returns true if the client has connected to Relay |
calling | Relay.Calling | Returns a Relay.Calling instance associated with the client |
messaging | Relay.Messaging | Returns a Relay.Messaging instance associated with the client |
Methods
connect
Activates the connection to the Relay API. The connection to Relay does not happen automatically so that you can setup handlers to events that might occur before the connection is successfully established.
Returns
Promise<void>
Example
// Make sure you have attached the listeners you need before connecting the client, or you might miss some events.
await client.connect()
disconnect
Disconnect the client from Relay.
Returns
void
Example
client.disconnect()
on
Attach an event handler for a specific type of event.
Parameters
Parameter | Type | Default | Description |
---|---|---|---|
event | string | required | Event name. Full list of events Relay.Client Events |
handler | function | required | Function to call when the event comes |
Returns
Relay.Client
- The client object itself.
Example
Subscribe to the signalwire.ready
and signalwire.error
events.
client.on('signalwire.ready', (client) => {
// Your client is ready!
}).on('signalwire.error', (error) => {
// Got an error...
})
off
Remove an event handler that were attached with .on()
. If no handler
parameter is passed, all listeners for that event
will be removed.
Parameters
Parameter | Type | Default | Description |
---|---|---|---|
event | string | required | Event name. Full list of events Relay.Client Events |
handler | function | optional | Function to remove. Note: handler will be removed from the stack by reference so make sure to use the same reference in both .on() and .off() methods. |
Returns
Relay.Client
- The client object itself.
Example
Subscribe to the signalwire.error
and then, remove the event handler.
const errorHandler = (error) => {
// Log the error..
}
client.on('signalwire.error', errorHandler)
// .. later
client.off('signalwire.error', errorHandler)
Events
All available events you can attach a listener on.
Event | Description |
---|---|
signalwire.ready | The session has been established and all other methods can now be used. |
signalwire.error | There is an error dispatch at the session level. |
signalwire.socket.open | The websocket is open. However, you have not yet been authenticated. |
signalwire.socket.error | The websocket gave an error. |
signalwire.socket.message | The client has received a message from the websocket. |
signalwire.socket.close | The websocket is closing. |