From 1e556e0b46d6ace8ad81d277fd9c396c70f11fdf Mon Sep 17 00:00:00 2001 From: "Chris Ross (ASP.NET)" Date: Mon, 6 Nov 2017 22:15:19 -0800 Subject: [PATCH] #1253 TestServer: mark response headers IsReadOnly on start --- src/Microsoft.AspNetCore.TestHost/ResponseFeature.cs | 4 +++- .../ResponseFeatureTests.cs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.AspNetCore.TestHost/ResponseFeature.cs b/src/Microsoft.AspNetCore.TestHost/ResponseFeature.cs index f736481810..2fb691619a 100644 --- a/src/Microsoft.AspNetCore.TestHost/ResponseFeature.cs +++ b/src/Microsoft.AspNetCore.TestHost/ResponseFeature.cs @@ -13,10 +13,11 @@ namespace Microsoft.AspNetCore.TestHost { private Func _responseStartingAsync = () => Task.FromResult(true); private Func _responseCompletedAsync = () => Task.FromResult(true); + private HeaderDictionary _headers = new HeaderDictionary(); public ResponseFeature() { - Headers = new HeaderDictionary(); + Headers = _headers; Body = new MemoryStream(); // 200 is the default status code all the way down to the host, so we set it @@ -69,6 +70,7 @@ namespace Microsoft.AspNetCore.TestHost { await _responseStartingAsync(); HasStarted = true; + _headers.IsReadOnly = true; } public Task FireOnResponseCompletedAsync() diff --git a/test/Microsoft.AspNetCore.TestHost.Tests/ResponseFeatureTests.cs b/test/Microsoft.AspNetCore.TestHost.Tests/ResponseFeatureTests.cs index f50d68a815..8081f092a8 100644 --- a/test/Microsoft.AspNetCore.TestHost.Tests/ResponseFeatureTests.cs +++ b/test/Microsoft.AspNetCore.TestHost.Tests/ResponseFeatureTests.cs @@ -22,6 +22,7 @@ namespace Microsoft.AspNetCore.TestHost await responseInformation.FireOnSendingHeadersAsync(); Assert.True(responseInformation.HasStarted); + Assert.True(responseInformation.Headers.IsReadOnly); } [Fact]