captureConnection static method

String captureConnection({
  1. required String url,
  2. Map<String, String>? headers,
})

Capture WebSocket connection

Implementation

static String captureConnection({
  required String url,
  Map<String, String>? headers,
}) {
  if (!_enabled) return '';

  final id = DateTime.now().millisecondsSinceEpoch.toString();
  final connection = WebSocketConnection(
    id: id,
    url: url,
    headers: headers ?? {},
    connectedAt: DateTime.now(),
  );

  final currentConnections = Map<String, WebSocketConnection>.from(_connections.value);
  currentConnections[id] = connection;
  _trimConnectionsMap(currentConnections);
  // Defer update to avoid setState during build phase
  Future.microtask(() {
    _connections.value = currentConnections;
  });

  // Capture connect event
  captureEvent(
    connectionId: id,
    type: WebSocketEventType.connect,
  );

  return id;
}