websocketProtocol function

WebSocketClientProtocol websocketProtocol({
  1. required String participantName,
  2. required String roomName,
  3. String? role,
})

Create a WebSocket protocol instance for the given participant and room.

Implementation

WebSocketClientProtocol websocketProtocol({required String participantName, required String roomName, String? role}) {
  final url = websocketRoomUrl(roomName: roomName);
  final token = participantToken(participantName: participantName, roomName: roomName, role: role);

  final apiKey = String.fromEnvironment('MESHAGENT_API_KEY', defaultValue: "");
  final secret = String.fromEnvironment('MESHAGENT_SECRET', defaultValue: "");
  if (apiKey.isEmpty && secret.isEmpty) {
    throw Exception('Either MESHAGENT_API_KEY or MESHAGENT_SECRET must be set in the environment.');
  }
  return WebSocketClientProtocol(
    url: url,
    token: token.toJwt(apiKey: apiKey.isEmpty ? null : apiKey, token: secret.isEmpty ? null : secret),
  );
}