1 write to _http1Connection
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (1)
Http1\Http1ConnectionTestsBase.cs (1)
63_http1Connection = new TestHttp1Connection(_http1ConnectionContext);
210 references to _http1Connection
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (210)
Http1\Http1ConnectionTests.cs (210)
30_http1Connection.Reset(); 40Assert.Equal(headerValue, _http1Connection.RequestHeaders[headerName]); 49_http1Connection.Reset(); 67_http1Connection.Reset(); 78_http1Connection.Reset(); 95_http1Connection.Initialize(_http1ConnectionContext); 118_http1Connection.Reset(); 129Assert.True(_http1Connection.TakeStartLine(ref reader)); 130Assert.False(_http1Connection.TakeMessageHeaders(ref reader, trailers: false)); 136Assert.Empty(_http1Connection.RequestHeaders); 144Assert.True(_http1Connection.TakeMessageHeaders(ref reader, trailers: false)); 150Assert.Single(_http1Connection.RequestHeaders); 151Assert.Equal("makethislargerthanthestartline", _http1Connection.RequestHeaders["Header"]); 157_http1Connection.Scheme = "https"; 160_http1Connection.Reset(); 163Assert.Equal("http", ((IFeatureCollection)_http1Connection).Get<IHttpRequestFeature>().Scheme); 169_http1Connection.MinRequestBodyDataRate = new MinDataRate(bytesPerSecond: 1, gracePeriod: TimeSpan.MaxValue); 171_http1Connection.Reset(); 173Assert.Same(_serviceContext.ServerOptions.Limits.MinRequestBodyDataRate, _http1Connection.MinRequestBodyDataRate); 179_http1Connection.MinResponseDataRate = new MinDataRate(bytesPerSecond: 1, gracePeriod: TimeSpan.MaxValue); 181_http1Connection.Reset(); 183Assert.Same(_serviceContext.ServerOptions.Limits.MinResponseDataRate, _http1Connection.MinResponseDataRate); 190var feature = ((IFeatureCollection)_http1Connection).Get<IHttpRequestIdentifierFeature>(); 192var requestProcessingTask = _http1Connection.ProcessRequestsAsync(new DummyApplication()); 252_http1Connection.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout); 259_http1Connection.TraceIdentifier = null; 260var id = _http1Connection.TraceIdentifier; 262Assert.Equal(id, _http1Connection.TraceIdentifier); 283Assert.Single(_http1Connection.RequestHeaders); 284Assert.Equal("value1", _http1Connection.RequestHeaders["Header-1"]); 286_http1Connection.Reset(); 295Assert.Single(_http1Connection.RequestHeaders); 296Assert.Equal("value2", _http1Connection.RequestHeaders["Header-2"]); 303await _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1])); 306Assert.True(_http1Connection.HasResponseStarted); 307Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)_http1Connection).StatusCode = StatusCodes.Status404NotFound); 314await _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1])); 317Assert.True(_http1Connection.HasResponseStarted); 318Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)_http1Connection).ReasonPhrase = "Reason phrase"); 332Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)_http1Connection).ReasonPhrase = reasonPhrase); 343((IHttpResponseFeature)_http1Connection).ReasonPhrase = reasonPhrase; 344Assert.Equal(reasonPhrase, ((IHttpResponseFeature)_http1Connection).ReasonPhrase); 350await _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1])); 353Assert.True(_http1Connection.HasResponseStarted); 354Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)_http1Connection).OnStarting(_ => Task.CompletedTask, null)); 361((IFeatureCollection)_http1Connection).Get<IHttpMinRequestBodyDataRateFeature>().MinDataRate = minDataRate; 363Assert.Same(minDataRate, _http1Connection.MinRequestBodyDataRate); 370((IFeatureCollection)_http1Connection).Get<IHttpMinResponseDataRateFeature>().MinDataRate = minDataRate; 372Assert.Same(minDataRate, _http1Connection.MinResponseDataRate); 379var originalRequestHeaders = _http1Connection.RequestHeaders; 380_http1Connection.RequestHeaders = new HttpRequestHeaders(); 383_http1Connection.Reset(); 386Assert.Same(originalRequestHeaders, _http1Connection.RequestHeaders); 393var originalResponseHeaders = _http1Connection.ResponseHeaders; 394_http1Connection.ResponseHeaders = new HttpResponseHeaders(); 397_http1Connection.Reset(); 400Assert.Same(originalResponseHeaders, _http1Connection.ResponseHeaders); 407var messageBody = Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)_http1Connection.RequestHeaders, _http1Connection); 408_http1Connection.InitializeBodyControl(messageBody); 410var originalRequestBody = _http1Connection.RequestBody; 411var originalResponseBody = _http1Connection.ResponseBody; 412_http1Connection.RequestBody = new MemoryStream(); 413_http1Connection.ResponseBody = new MemoryStream(); 416_http1Connection.InitializeBodyControl(messageBody); 419Assert.Same(originalRequestBody, _http1Connection.RequestBody); 420Assert.Same(originalResponseBody, _http1Connection.ResponseBody); 446Assert.Equal(expectedMethod, ((IHttpRequestFeature)_http1Connection).Method); 447Assert.Equal(expectedRawTarget, _http1Connection.RawTarget); 448Assert.Equal(expectedDecodedPath, _http1Connection.Path); 449Assert.Equal(expectedQueryString, _http1Connection.QueryString); 450Assert.Equal(expectedHttpVersion, _http1Connection.HttpVersion); 469Assert.Equal(expectedRawTarget, _http1Connection.RawTarget); 470Assert.Equal(expectedDecodedPath, _http1Connection.Path); 471Assert.Equal(expectedQueryString, _http1Connection.QueryString); 591var requestProcessingTask = _http1Connection.ProcessRequestsAsync<object>(null); 596_http1Connection.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout); 606((IHttpResponseFeature)_http1Connection).StatusCode = StatusCodes.Status304NotModified; 609await Assert.ThrowsAsync<InvalidOperationException>(() => _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1]))); 616_http1Connection.HttpVersion = "HTTP/1.1"; 617((IHttpResponseFeature)_http1Connection).StatusCode = StatusCodes.Status304NotModified; 620await Assert.ThrowsAsync<InvalidOperationException>(() => _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1]), default(CancellationToken))); 627_http1Connection.HttpVersion = "HTTP/1.1"; 628_http1Connection.Method = HttpMethod.Head; 631await _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1])); 638_http1Connection.HttpVersion = "HTTP/1.1"; 639_http1Connection.Method = HttpMethod.Head; 642await _http1Connection.WriteAsync(new ArraySegment<byte>(new byte[1]), default(CancellationToken)); 649_http1Connection.HttpVersion = "HTTP/1.1"; 650_http1Connection.Method = HttpMethod.Head; 653_http1Connection.ResponseHeaders.Add("Transfer-Encoding", "chunked"); 656await Assert.ThrowsAsync<InvalidOperationException>(() => _http1Connection.FlushAsync()); 663_http1Connection.HttpVersion = "HTTP/1.1"; 664((IHttpResponseFeature)_http1Connection).StatusCode = StatusCodes.Status304NotModified; 667_http1Connection.ResponseHeaders.Add("Transfer-Encoding", "chunked"); 670await Assert.ThrowsAsync<InvalidOperationException>(() => _http1Connection.FlushAsync()); 676var requestProcessingTask = _http1Connection.ProcessRequestsAsync<object>(null); 681_http1Connection.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout); 691_http1Connection.ResponseHeaders["Content-Length"] = "12"; 693var original = _http1Connection.RequestAborted; 697await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch })); 698Assert.Equal(original, _http1Connection.RequestAborted); 701await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' })); 702Assert.NotEqual(original, _http1Connection.RequestAborted); 704_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 707Assert.False(_http1Connection.RequestAborted.IsCancellationRequested); 713_http1Connection.ResponseHeaders["Content-Length"] = "12"; 715var original = _http1Connection.RequestAborted; 719await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken)); 720Assert.Equal(original, _http1Connection.RequestAborted); 723await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken)); 724Assert.NotEqual(original, _http1Connection.RequestAborted); 726_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 729Assert.False(_http1Connection.RequestAborted.IsCancellationRequested); 741_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 742var failResult = await _http1Connection.FlushPipeAsync(new CancellationToken()); 755_http1Connection.CancelPendingFlush(); 757var canceledResult = await _http1Connection.FlushPipeAsync(new CancellationToken()); 761var goodResult = await _http1Connection.FlushPipeAsync(new CancellationToken()); 768_http1Connection.ResponseHeaders["Content-Length"] = "12"; 770var original = _http1Connection.RequestAborted; 773var startingTask = _http1Connection.InitializeResponseAwaited(Task.CompletedTask, 1); 774await _http1Connection.WriteAsyncAwaited(startingTask, new ArraySegment<byte>(new[] { (byte)'h' }), default(CancellationToken)); 775Assert.Equal(original, _http1Connection.RequestAborted); 779await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken)); 780Assert.Equal(original, _http1Connection.RequestAborted); 783await _http1Connection.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken)); 784Assert.NotEqual(original, _http1Connection.RequestAborted); 786_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 789Assert.False(_http1Connection.RequestAborted.IsCancellationRequested); 795var original = _http1Connection.RequestAborted; 797_http1Connection.HttpVersion = "HTTP/1.1"; 798await _http1Connection.WriteAsync(new ArraySegment<byte>(Encoding.ASCII.GetBytes("hello, world")), default(CancellationToken)); 799Assert.Equal(original, _http1Connection.RequestAborted); 801await _http1Connection.ProduceEndAsync(); 802Assert.NotEqual(original, _http1Connection.RequestAborted); 804_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 807Assert.False(_http1Connection.RequestAborted.IsCancellationRequested); 813var originalToken = _http1Connection.RequestAborted; 816_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 819Assert.True(_http1Connection.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout)); 827var originalToken = _http1Connection.RequestAborted; 830_http1Connection.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp); 835Assert.True(_http1Connection.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout)); 843var originalToken = _http1Connection.RequestAborted; 848await _http1Connection.WritePipeAsync(ReadOnlyMemory<byte>.Empty, default).DefaultTimeout(); 851Assert.True(_http1Connection.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout)); 893var requestProcessingTask = _http1Connection.ProcessRequestsAsync<object>(null); 896await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders != null); 897Assert.Empty(_http1Connection.RequestHeaders); 900await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders.Count >= header0Count); 901Assert.Equal(header0Count, _http1Connection.RequestHeaders.Count); 904await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders.Count >= header0Count + header1Count); 905Assert.Equal(header0Count + header1Count, _http1Connection.RequestHeaders.Count); 925var requestProcessingTask = _http1Connection.ProcessRequestsAsync<object>(null); 928await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders != null); 929Assert.Empty(_http1Connection.RequestHeaders); 931var newRequestHeaders = new RequestHeadersWrapper(_http1Connection.RequestHeaders); 932_http1Connection.RequestHeaders = newRequestHeaders; 933Assert.Same(newRequestHeaders, _http1Connection.RequestHeaders); 936await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders.Count >= header0Count); 937Assert.Same(newRequestHeaders, _http1Connection.RequestHeaders); 938Assert.Equal(header0Count, _http1Connection.RequestHeaders.Count); 941await WaitForCondition(TestConstants.DefaultTimeout, () => _http1Connection.RequestHeaders.Count >= header0Count + header1Count); 942Assert.Same(newRequestHeaders, _http1Connection.RequestHeaders); 943Assert.Equal(header0Count + header1Count, _http1Connection.RequestHeaders.Count); 954_http1Connection.HasStartedConsumingRequestBody = true; 957Assert.True(((IHttpMaxRequestBodySizeFeature)_http1Connection).IsReadOnly); 958var ex = Assert.Throws<InvalidOperationException>(() => ((IHttpMaxRequestBodySizeFeature)_http1Connection).MaxRequestBodySize = 1); 966var ex = Assert.Throws<ArgumentOutOfRangeException>(() => ((IHttpMaxRequestBodySizeFeature)_http1Connection).MaxRequestBodySize = -1); 979_http1Connection.NextMessageBody = mockMessageBody.Object; 981var requestProcessingTask = _http1Connection.ProcessRequestsAsync(httpApplication); 993_http1Connection.HttpVersion = "HTTP/1.0"; 994_http1Connection.EnsureHostHeaderExists(); 1000_http1Connection.HttpVersion = "HTTP/1.0"; 1001_http1Connection.RequestHeaders.Host = "localhost:5000"; 1002_http1Connection.EnsureHostHeaderExists(); 1008_http1Connection.HttpVersion = "HTTP/1.1"; 1009_http1Connection.RequestHeaders.Host = ""; 1010_http1Connection.EnsureHostHeaderExists(); 1016_http1Connection.HttpVersion = "HTTP/1.1"; 1017_http1Connection.RequestHeaders.Host = "localhost:5000"; 1018_http1Connection.EnsureHostHeaderExists(); 1024_http1Connection.HttpVersion = "HTTP/1.0"; 1025_http1Connection.RequestHeaders.Host = "a=b"; 1026var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() => _http1Connection.EnsureHostHeaderExists()); 1033_http1Connection.HttpVersion = "HTTP/1.1"; 1034_http1Connection.RequestHeaders.Host = "a=b"; 1035var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() => _http1Connection.EnsureHostHeaderExists()); 1044_http1Connection.RequestHeaders.Add(HeaderNames.ContentLength, contentLength); 1045_http1Connection.RequestHeaders.Add(HeaderNames.TransferEncoding, "chunked"); 1048Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)_http1Connection.RequestHeaders, _http1Connection); 1051Assert.True(_http1Connection.RequestHeaders.ContainsKey("X-Content-Length")); 1052Assert.Equal(contentLength, _http1Connection.RequestHeaders["X-Content-Length"]); 1053Assert.True(_http1Connection.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding)); 1054Assert.Equal("chunked", _http1Connection.RequestHeaders[HeaderNames.TransferEncoding]); 1055Assert.False(_http1Connection.RequestHeaders.ContainsKey(HeaderNames.ContentLength)); 1064_http1Connection.RequestHeaders.Add(HeaderNames.ContentLength, contentLength); 1065_http1Connection.RequestHeaders.Add(HeaderNames.TransferEncoding, "chunked"); 1066_http1Connection.RequestHeaders.Add("X-Content-Length", userXContentLength); // user passed this explicitly 1069Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)_http1Connection.RequestHeaders, _http1Connection); 1072Assert.True(_http1Connection.RequestHeaders.ContainsKey("X-Content-Length")); 1073Assert.Equal(userXContentLength, _http1Connection.RequestHeaders["X-Content-Length"]); 1074Assert.True(_http1Connection.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding)); 1075Assert.Equal("chunked", _http1Connection.RequestHeaders[HeaderNames.TransferEncoding]); 1076Assert.False(_http1Connection.RequestHeaders.ContainsKey(HeaderNames.ContentLength)); 1082if (_http1Connection.TakeMessageHeaders(ref reader, trailers: trailers)) 1099if (_http1Connection.TakeStartLine(ref reader))