registerRequestHandler<T extends Request?, R extends Result?> method

void registerRequestHandler<T extends Request?, R extends Result?>(
  1. String name,
  2. FutureOr<R> impl(
    1. T
    )
)
inherited

Registers a handler for the method name on this server.

Any errors in impl will be reported to the client as JSON-RPC 2.0 errors.

Implementation

void registerRequestHandler<T extends Request?, R extends Result?>(
  String name,
  FutureOr<R> Function(T) impl,
) => _peer.registerMethod(name, (Parameters p) {
  if (p.value != null && p.value is! Map) {
    throw ArgumentError(
      'Request to $name must be a Map or null. Instead, got '
      '${p.value.runtimeType}',
    );
  }
  return impl((p.value as Map?)?.cast<String, Object?>() as T);
});