register<TResponse extends Object?, TRequest extends Request<TResponse>> method

  1. @override
void register<TResponse extends Object?, TRequest extends Request<TResponse>>(
  1. PipelineBehavior<TResponse, TRequest> behavior
)
override

Registers the behavior.

When using a generic PipelineBehavior the registerGeneric should be used instead.

Implementation

@override
void register<TResponse extends Object?, TRequest extends Request<TResponse>>(
  PipelineBehavior<TResponse, TRequest> behavior,
) {
  final handlers = _typedBehaviors.putIfAbsent(
    TRequest,
    () => <PipelineBehavior>{},
  );

  assert(
    !handlers.contains(behavior),
    'register<$TResponse, $TRequest> was called with an already registered behavior',
  );

  handlers.add(behavior);
}