// Copyright (c) The Geekeey Authors // SPDX-License-Identifier: EUPL-1.2 using System.Runtime.CompilerServices; namespace Geekeey.Request.Dispatcher.Tests; public class StreamOpenBehavior(StreamTestTracker tracker) : IStreamRequestBehavior where TRequest : IStreamRequest { public async IAsyncEnumerable HandleAsync(TRequest request, StreamHandlerDelegate next, [EnumeratorCancellation] CancellationToken cancellationToken) { tracker.Executed = true; await foreach (var response in next(request, cancellationToken)) { yield return response; } } }