send method

  1. @override
Future<Map<String, Object?>> send(
  1. String method, [
  2. Map<String, Object?>? params,
  3. Duration? timeout
])
override

Sends a request and completes with the result object.

Implementation

@override
Future<Map<String, Object?>> send(
  String method, [
  Map<String, Object?>? params,
  Duration? timeout,
]) {
  if (connection.isClosed) {
    throw StateError('CdpConnection is closed');
  }
  final id = ++connection._nextId;
  final completer = Completer<Map<String, Object?>>();
  connection._pending[id] = completer;
  connection._socket.add(
    jsonEncode({
      'id': id,
      'method': method,
      'params': ?params,
      'sessionId': sessionId,
    }),
  );
  final future = completer.future;
  if (timeout != null) return future.timeout(timeout);
  return future;
}