diff --git a/src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs b/src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs index ecc23169e956..737449af821f 100644 --- a/src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs +++ b/src/Servers/Kestrel/shared/test/PassThroughConnectionMiddleware.cs @@ -56,6 +56,22 @@ public PassThroughPipeWriter(PipeWriter output) public override Memory GetMemory(int sizeHint = 0) => _output.GetMemory(sizeHint); public override Span GetSpan(int sizeHint = 0) => _output.GetSpan(sizeHint); + + public override Stream AsStream(bool leaveOpen = false) => throw new InvalidOperationException("Missing override"); + + public override bool CanGetUnflushedBytes => throw new InvalidOperationException("Missing override"); + + public override ValueTask CompleteAsync(Exception exception = null) => throw new InvalidOperationException("Missing override"); + + protected override Task CopyFromAsync(Stream source, CancellationToken cancellationToken = default) => throw new InvalidOperationException("Missing override"); + +#pragma warning disable CS0672 // Member overrides obsolete member + public override void OnReaderCompleted(Action callback, object state) => throw new InvalidOperationException("Missing override"); +#pragma warning restore CS0672 // Member overrides obsolete member + + public override long UnflushedBytes => throw new InvalidOperationException("Missing override"); + + public override ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) => throw new InvalidOperationException("Missing override"); } private class PassThroughPipeReader : PipeReader @@ -78,6 +94,20 @@ public PassThroughPipeReader(PipeReader input) public override ValueTask ReadAsync(CancellationToken cancellationToken = default) => _input.ReadAsync(cancellationToken); public override bool TryRead(out ReadResult result) => _input.TryRead(out result); + + public override Stream AsStream(bool leaveOpen = false) => throw new InvalidOperationException("Missing override"); + + public override ValueTask CompleteAsync(Exception exception = null) => throw new InvalidOperationException("Missing override"); + + public override Task CopyToAsync(PipeWriter destination, CancellationToken cancellationToken = default) => throw new InvalidOperationException("Missing override"); + + public override Task CopyToAsync(Stream destination, CancellationToken cancellationToken = default) => throw new InvalidOperationException("Missing override"); + +#pragma warning disable CS0672 // Member overrides obsolete member + public override void OnWriterCompleted(Action callback, object state) => throw new InvalidOperationException("Missing override"); +#pragma warning restore CS0672 // Member overrides obsolete member + + protected override ValueTask ReadAtLeastAsyncCore(int minimumSize, CancellationToken cancellationToken) => throw new InvalidOperationException("Missing override"); } } } diff --git a/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs index cc88914c123e..9496478d36cb 100644 --- a/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs +++ b/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs @@ -1039,8 +1039,8 @@ await connection.Send( } [Theory] - [MemberData(nameof(ConnectionMiddlewareDataName))] - [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/27157")] + [InlineData("PassThrough")] + [Repeat(100)] public async Task AppCanHandleClientAbortingConnectionMidRequest(string listenOptionsName) { var readTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);