diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/RemoteSession/RemoteAppSessionStateManager.cs b/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/RemoteSession/RemoteAppSessionStateManager.cs index 8f6e4a4dcd..3bcd82b6a8 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/RemoteSession/RemoteAppSessionStateManager.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/RemoteSession/RemoteAppSessionStateManager.cs @@ -48,7 +48,7 @@ public RemoteAppSessionStateManager( [LoggerMessage(EventId = 3, Level = LogLevel.Trace, Message = "Received {StatusCode} response committing remote session state")] private partial void LogCommitResponse(HttpStatusCode statusCode); - public async Task CreateAsync(HttpContextCore context, ISessionMetadata metadata) + public async Task CreateAsync(HttpContextCore context, SessionAttribute metadata) { using var timeout = new CancellationTokenSource(_options.NetworkTimeout); using var cts = CancellationTokenSource.CreateLinkedTokenSource(timeout.Token, context.RequestAborted, context.RequestAborted); diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/Wrapped/AspNetCoreSessionManager.cs b/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/Wrapped/AspNetCoreSessionManager.cs index 36ac53ab1d..299d9964ee 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/Wrapped/AspNetCoreSessionManager.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters.SessionState/Wrapped/AspNetCoreSessionManager.cs @@ -21,6 +21,6 @@ public AspNetCoreSessionManager(ISessionKeySerializer serializer, ILoggerFactory _options = options; } - public Task CreateAsync(HttpContextCore context, ISessionMetadata metadata) + public Task CreateAsync(HttpContextCore context, SessionAttribute metadata) => Task.FromResult(new AspNetCoreSessionState(context.Session, _serializer, _loggerFactory, metadata.IsReadOnly, _options.Value.ThrowOnUnknownSessionKey)); } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamAttribute.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamAttribute.cs index bad083e834..3f8cb1de93 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamAttribute.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamAttribute.cs @@ -6,9 +6,9 @@ namespace Microsoft.AspNetCore.SystemWebAdapters; [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class BufferResponseStreamAttribute : Attribute, IBufferResponseStreamMetadata +public sealed class BufferResponseStreamAttribute : Attribute { - public bool IsEnabled { get; set; } = true; + public bool IsDisabled { get; set; } public int MemoryThreshold { get; set; } = 32768; // Same default as FileBufferingWriteStream diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamMiddleware.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamMiddleware.cs index c31ace4726..bfde7ab14a 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamMiddleware.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferResponseStreamMiddleware.cs @@ -23,11 +23,11 @@ public BufferResponseStreamMiddleware(RequestDelegate next, ILogger context.GetEndpoint()?.Metadata.GetMetadata() is { IsEnabled: true } metadata && context.Features.Get() is { } feature + => context.GetEndpoint()?.Metadata.GetMetadata() is { IsDisabled: false } metadata && context.Features.Get() is { } feature ? BufferResponseStreamAsync(context, feature, metadata) : _next(context); - private async Task BufferResponseStreamAsync(HttpContextCore context, IHttpResponseBodyFeature feature, IBufferResponseStreamMetadata metadata) + private async Task BufferResponseStreamAsync(HttpContextCore context, IHttpResponseBodyFeature feature, BufferResponseStreamAttribute metadata) { LogBuffering(metadata.BufferLimit, metadata.MemoryThreshold); diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferedHttpResponseFeature.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferedHttpResponseFeature.cs index 0f63b65ff7..8378646a5f 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferedHttpResponseFeature.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/BufferedHttpResponseFeature.cs @@ -23,12 +23,12 @@ public enum StreamState } private readonly IHttpResponseBodyFeature _other; - private readonly IBufferResponseStreamMetadata _metadata; + private readonly BufferResponseStreamAttribute _metadata; private FileBufferingWriteStream? _bufferedStream; private PipeWriter? _pipeWriter; - public BufferedHttpResponseFeature(IHttpResponseBodyFeature other, IBufferResponseStreamMetadata metadata) + public BufferedHttpResponseFeature(IHttpResponseBodyFeature other, BufferResponseStreamAttribute metadata) { _other = other; _metadata = metadata; diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/CurrentPrincipalMiddleware.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/CurrentPrincipalMiddleware.cs index df4a558c6c..95334ac518 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/CurrentPrincipalMiddleware.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/CurrentPrincipalMiddleware.cs @@ -23,7 +23,7 @@ public CurrentPrincipalMiddleware(RequestDelegate next, ILogger context.GetEndpoint()?.Metadata.GetMetadata() is { IsEnabled: true } ? SetUserAsync(context) : _next(context); + => context.GetEndpoint()?.Metadata.GetMetadata() is { IsDisabled: false } ? SetUserAsync(context) : _next(context); private async Task SetUserAsync(HttpContext context) { diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IBufferResponseStreamMetadata.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IBufferResponseStreamMetadata.cs deleted file mode 100644 index 4706e3907c..0000000000 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IBufferResponseStreamMetadata.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.AspNetCore.SystemWebAdapters; - -public interface IBufferResponseStreamMetadata -{ - bool IsEnabled { get; } - - int MemoryThreshold { get; } - - long? BufferLimit { get; } -} diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IPreBufferRequestStreamMetadata.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IPreBufferRequestStreamMetadata.cs deleted file mode 100644 index 8b192aacfa..0000000000 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/IPreBufferRequestStreamMetadata.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.AspNetCore.SystemWebAdapters; - -public interface IPreBufferRequestStreamMetadata -{ - bool IsEnabled { get; } - - int BufferThreshold { get; } - - long? BufferLimit { get; } -} diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionManager.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionManager.cs index 2966e525c3..1a46f8cfab 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionManager.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionManager.cs @@ -14,6 +14,6 @@ public interface ISessionManager /// Creates an instance of for a given context. /// /// Current . - /// Metadata for the session. - Task CreateAsync(HttpContextCore context, ISessionMetadata metadata); + /// Metadata for the session. + Task CreateAsync(HttpContextCore context, SessionAttribute metadata); } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionMetadata.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionMetadata.cs deleted file mode 100644 index 4f1550ed9a..0000000000 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISessionMetadata.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.AspNetCore.SystemWebAdapters; - -public interface ISessionMetadata -{ - SessionBehavior Behavior { get; } - - bool IsReadOnly { get; } -} diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISetThreadCurrentPrincipal.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISetThreadCurrentPrincipal.cs deleted file mode 100644 index 8326e9f5d5..0000000000 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISetThreadCurrentPrincipal.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.AspNetCore.SystemWebAdapters; - -public interface ISetThreadCurrentPrincipal -{ - bool IsEnabled { get; } -} diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISingleThreadedRequestMetadata.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISingleThreadedRequestMetadata.cs deleted file mode 100644 index cc95e5d3f2..0000000000 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/ISingleThreadedRequestMetadata.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -namespace Microsoft.AspNetCore.SystemWebAdapters; - -public interface ISingleThreadedRequestMetadata -{ - bool IsEnabled { get; } -} diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamAttribute.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamAttribute.cs index 1755a1d127..2c7f0ef612 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamAttribute.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamAttribute.cs @@ -6,12 +6,12 @@ namespace Microsoft.AspNetCore.SystemWebAdapters; [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class)] -public sealed class PreBufferRequestStreamAttribute : Attribute, IPreBufferRequestStreamMetadata +public sealed class PreBufferRequestStreamAttribute : Attribute { // Same limit as the default: https://source.dot.net/#Microsoft.AspNetCore.Http/Internal/BufferingHelper.cs,47b7015acb14f2a4 private const int DefaultBufferThreshold = 1024 * 30; - public bool IsEnabled { get; set; } = true; + public bool IsDisabled { get; set; } public int BufferThreshold { get; set; } = DefaultBufferThreshold; diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamMiddleware.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamMiddleware.cs index 1352d24342..cb14fdaa90 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamMiddleware.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/PreBufferRequestStreamMiddleware.cs @@ -23,12 +23,12 @@ public PreBufferRequestStreamMiddleware(RequestDelegate next, ILogger context.GetEndpoint()?.Metadata.GetMetadata() is { IsEnabled: true } metadata + => context.GetEndpoint()?.Metadata.GetMetadata() is { IsDisabled: false } metadata ? PreBufferAsync(context, metadata) : _next(context); - private async Task PreBufferAsync(HttpContextCore context, IPreBufferRequestStreamMetadata metadata) + private async Task PreBufferAsync(HttpContextCore context, PreBufferRequestStreamAttribute metadata) { // TODO: Should this enforce MaxRequestBodySize? https://github.com/aspnet/AspLabs/pull/447#discussion_r827314309 LogMessage(); diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionAttribute.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionAttribute.cs index f357c4b443..0e83316f26 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionAttribute.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionAttribute.cs @@ -6,9 +6,9 @@ namespace Microsoft.AspNetCore.SystemWebAdapters; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] -public sealed class SessionAttribute : Attribute, ISessionMetadata +public sealed class SessionAttribute : Attribute { - public SessionBehavior Behavior { get; set; } = SessionBehavior.PreLoad; + public SessionBehavior Behavior { get; set; } = SessionBehavior.Preload; public bool IsReadOnly { get; set; } } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionBehavior.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionBehavior.cs index 303e26819e..b55c8eca07 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionBehavior.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionBehavior.cs @@ -15,7 +15,7 @@ public enum SessionBehavior /// /// Asynchronously loads the session for controllers with this attribute before running the controller. /// - PreLoad, + Preload, /// /// Synchronously loads the session for controllers with this attribute on first use. diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionMiddleware.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionMiddleware.cs index 29b64f368d..b40c8badbd 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionMiddleware.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SessionMiddleware.cs @@ -29,11 +29,11 @@ public SessionMiddleware(RequestDelegate next, ILogger logger } public Task InvokeAsync(HttpContextCore context) - => context.GetEndpoint()?.Metadata.GetMetadata() is { Behavior: not SessionBehavior.None } metadata + => context.GetEndpoint()?.Metadata.GetMetadata() is { Behavior: not SessionBehavior.None } metadata ? ManageStateAsync(context, metadata) : _next(context); - private async Task ManageStateAsync(HttpContextCore context, ISessionMetadata metadata) + private async Task ManageStateAsync(HttpContextCore context, SessionAttribute metadata) { LogMessage(metadata.Behavior); @@ -47,7 +47,7 @@ private async Task ManageStateAsync(HttpContextCore context, ISessionMetadata me #pragma warning restore CS0618 // Type or member is obsolete #pragma warning restore CA2000 // Dispose objects before losing scope - SessionBehavior.PreLoad => await manager.CreateAsync(context, metadata), + SessionBehavior.Preload => await manager.CreateAsync(context, metadata), var behavior => throw new InvalidOperationException($"Unknown session behavior {behavior}"), }; @@ -68,7 +68,7 @@ private class LazySessionState : DelegatingSessionState { private readonly Lazy _state; - public LazySessionState(HttpContextCore context, Action log, ISessionMetadata metadata, ISessionManager manager) + public LazySessionState(HttpContextCore context, Action log, SessionAttribute metadata, ISessionManager manager) { _state = new Lazy(() => { diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SetThreadCurrentPrincipalAttribute.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SetThreadCurrentPrincipalAttribute.cs index bd61c7819f..0623ff2e5e 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SetThreadCurrentPrincipalAttribute.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SetThreadCurrentPrincipalAttribute.cs @@ -6,7 +6,7 @@ namespace Microsoft.AspNetCore.SystemWebAdapters; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] -public sealed class SetThreadCurrentPrincipalAttribute : Attribute, ISetThreadCurrentPrincipal, ISingleThreadedRequestMetadata +public sealed class SetThreadCurrentPrincipalAttribute : Attribute { - public bool IsEnabled { get; set; } = true; + public bool IsDisabled { get; set; } } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestAttribute.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestAttribute.cs index 64d2481602..97a2cd4fe9 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestAttribute.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestAttribute.cs @@ -6,7 +6,7 @@ namespace Microsoft.AspNetCore.SystemWebAdapters; [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] -public sealed class SingleThreadedRequestAttribute : Attribute, ISingleThreadedRequestMetadata +public sealed class SingleThreadedRequestAttribute : Attribute { - public bool IsEnabled { get; set; } = true; + public bool IsDisabled { get; set; } } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestMiddleware.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestMiddleware.cs index a26d04fb77..688bcee543 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestMiddleware.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SingleThreadedRequestMiddleware.cs @@ -13,7 +13,7 @@ internal class SingleThreadedRequestMiddleware public SingleThreadedRequestMiddleware(RequestDelegate next) => _next = next; public Task InvokeAsync(HttpContextCore context) - => context.GetEndpoint()?.Metadata.GetMetadata() is { IsEnabled: true } + => context.GetEndpoint()?.Metadata.GetMetadata() is { IsDisabled: false } ? EnsureSingleThreaded(context) : _next(context); diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SystemWebAdaptersExtensions.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SystemWebAdaptersExtensions.cs index 1e7a5df00f..d3e67a5248 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SystemWebAdaptersExtensions.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Adapters/SystemWebAdaptersExtensions.cs @@ -41,21 +41,21 @@ public static void UseSystemWebAdapters(this IApplicationBuilder app) /// /// Adds request stream buffering to the endpoint(s) /// - public static TBuilder PreBufferRequestStream(this TBuilder builder, IPreBufferRequestStreamMetadata? metadata = null) + public static TBuilder PreBufferRequestStream(this TBuilder builder, PreBufferRequestStreamAttribute? metadata = null) where TBuilder : IEndpointConventionBuilder => builder.WithMetadata(metadata ?? new PreBufferRequestStreamAttribute()); /// /// Adds session support for System.Web adapters for the endpoint(s) /// - public static TBuilder RequireSystemWebAdapterSession(this TBuilder builder, ISessionMetadata? metadata = null) + public static TBuilder RequireSystemWebAdapterSession(this TBuilder builder, SessionAttribute? metadata = null) where TBuilder : IEndpointConventionBuilder => builder.WithMetadata(metadata ?? new SessionAttribute()); /// /// Ensure response stream is buffered to enable synchronous actions on it for the endpoint(s) /// - public static TBuilder BufferResponseStream(this TBuilder builder, IBufferResponseStreamMetadata? metadata = null) + public static TBuilder BufferResponseStream(this TBuilder builder, BufferResponseStreamAttribute? metadata = null) where TBuilder : IEndpointConventionBuilder => builder.WithMetadata(metadata ?? new BufferResponseStreamAttribute()); diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpContext.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpContext.cs index 05531ae6c5..d868406257 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpContext.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpContext.cs @@ -28,7 +28,7 @@ public class HttpContext : IServiceProvider public static HttpContext? Current => _accessor.HttpContext; - public HttpContext(HttpContextCore context) + internal HttpContext(HttpContextCore context) { _context = context ?? throw new ArgumentNullException(nameof(context)); } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpFileCollection.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpFileCollection.cs index 4b62627d44..eda8a35484 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpFileCollection.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpFileCollection.cs @@ -14,7 +14,7 @@ public sealed class HttpFileCollection : NameObjectCollectionBase { private string[]? _keys; - public HttpFileCollection(IFormFileCollection files) + internal HttpFileCollection(IFormFileCollection files) { FormFiles = files; diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpPostedFile.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpPostedFile.cs index d7f18cf39b..52236a344d 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpPostedFile.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpPostedFile.cs @@ -8,7 +8,7 @@ namespace System.Web; public sealed class HttpPostedFile { - public HttpPostedFile(IFormFile file) => File = file; + internal HttpPostedFile(IFormFile file) => File = file; internal IFormFile File { get; } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpRequest.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpRequest.cs index 243e3bdd7a..a42a915279 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpRequest.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpRequest.cs @@ -36,7 +36,7 @@ public class HttpRequest private NameValueCollection? _params; private HttpBrowserCapabilities? _browser; - public HttpRequest(HttpRequestCore request) + internal HttpRequest(HttpRequestCore request) { _request = request; } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpResponse.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpResponse.cs index fd76bffa43..33e19ef030 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/HttpResponse.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/HttpResponse.cs @@ -29,7 +29,7 @@ public class HttpResponse private TextWriter? _writer; private HttpCookieCollection? _cookies; - public HttpResponse(HttpResponseCore response) + internal HttpResponse(HttpResponseCore response) { _response = response; } diff --git a/src/Microsoft.AspNetCore.SystemWebAdapters/Ref.Standard.cs b/src/Microsoft.AspNetCore.SystemWebAdapters/Ref.Standard.cs index 13dd1acfd0..3dd9aadcbf 100644 --- a/src/Microsoft.AspNetCore.SystemWebAdapters/Ref.Standard.cs +++ b/src/Microsoft.AspNetCore.SystemWebAdapters/Ref.Standard.cs @@ -255,7 +255,7 @@ internal HttpResponse() { } public System.Web.HttpCookieCollection Cookies { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } public System.Collections.Specialized.NameValueCollection Headers { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } public bool IsClientConnected { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } - public bool IsRequestBeingRedirected { [System.Runtime.CompilerServices.CompilerGeneratedAttribute]get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } + public bool IsRequestBeingRedirected { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } public System.IO.TextWriter Output { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} set { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } public System.IO.Stream OutputStream { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } public int StatusCode { get { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} set { throw new System.PlatformNotSupportedException("Only support when running on ASP.NET Core or System.Web");} } diff --git a/test/Microsoft.AspNetCore.SystemWebAdapters.Tests/Adapters/PreBufferRequestStreamMiddlewareTests.cs b/test/Microsoft.AspNetCore.SystemWebAdapters.Tests/Adapters/PreBufferRequestStreamMiddlewareTests.cs index adb700abdf..9bab06f3d9 100644 --- a/test/Microsoft.AspNetCore.SystemWebAdapters.Tests/Adapters/PreBufferRequestStreamMiddlewareTests.cs +++ b/test/Microsoft.AspNetCore.SystemWebAdapters.Tests/Adapters/PreBufferRequestStreamMiddlewareTests.cs @@ -17,7 +17,7 @@ public class PreBufferRequestStreamMiddlewareTests [InlineData(true)] [InlineData(false)] [Theory] - public async Task RequestBuffering(bool isEnabled) + public async Task RequestBuffering(bool isDisabled) { // Arrange var next = new Mock(); @@ -25,10 +25,9 @@ public async Task RequestBuffering(bool isEnabled) var logger = new Mock>(); - var metadata = new Mock(); - metadata.Setup(m => m.IsEnabled).Returns(isEnabled); + var metadata = new PreBufferRequestStreamAttribute { IsDisabled = isDisabled }; - var metadataCollection = new EndpointMetadataCollection(metadata.Object); + var metadataCollection = new EndpointMetadataCollection(metadata); var endpointFeature = new Mock(); endpointFeature.Setup(e => e.Endpoint).Returns(new Endpoint(null, metadataCollection, null)); @@ -52,6 +51,6 @@ public async Task RequestBuffering(bool isEnabled) await mock.Create().InvokeAsync(context); // Assert - Assert.Equal(isEnabled, context.Request.Body.CanSeek); + Assert.Equal(!isDisabled, context.Request.Body.CanSeek); } }