1 write to _http1Connection
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (1)
Http1\Http1ConnectionTestsBase.cs (1)
63
_http1Connection
= new TestHttp1Connection(_http1ConnectionContext);
207 references to _http1Connection
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (207)
Http1\Http1ConnectionTests.cs (207)
30
_http1Connection
.Reset();
40
Assert.Equal(headerValue,
_http1Connection
.RequestHeaders[headerName]);
49
_http1Connection
.Reset();
67
_http1Connection
.Reset();
78
_http1Connection
.Reset();
95
_http1Connection
.Initialize(_http1ConnectionContext);
118
_http1Connection
.Reset();
129
Assert.True(
_http1Connection
.TakeStartLine(ref reader));
130
Assert.False(
_http1Connection
.TakeMessageHeaders(ref reader, trailers: false));
136
Assert.Empty(
_http1Connection
.RequestHeaders);
144
Assert.True(
_http1Connection
.TakeMessageHeaders(ref reader, trailers: false));
150
Assert.Single(
_http1Connection
.RequestHeaders);
151
Assert.Equal("makethislargerthanthestartline",
_http1Connection
.RequestHeaders["Header"]);
157
_http1Connection
.Scheme = "https";
160
_http1Connection
.Reset();
163
Assert.Equal("http", ((IFeatureCollection)
_http1Connection
).Get<IHttpRequestFeature>().Scheme);
169
_http1Connection
.MinRequestBodyDataRate = new MinDataRate(bytesPerSecond: 1, gracePeriod: TimeSpan.MaxValue);
171
_http1Connection
.Reset();
173
Assert.Same(_serviceContext.ServerOptions.Limits.MinRequestBodyDataRate,
_http1Connection
.MinRequestBodyDataRate);
179
_http1Connection
.MinResponseDataRate = new MinDataRate(bytesPerSecond: 1, gracePeriod: TimeSpan.MaxValue);
181
_http1Connection
.Reset();
183
Assert.Same(_serviceContext.ServerOptions.Limits.MinResponseDataRate,
_http1Connection
.MinResponseDataRate);
190
var feature = ((IFeatureCollection)
_http1Connection
).Get<IHttpRequestIdentifierFeature>();
192
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync(new DummyApplication());
252
_http1Connection
.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout);
259
_http1Connection
.TraceIdentifier = null;
260
var id =
_http1Connection
.TraceIdentifier;
262
Assert.Equal(id,
_http1Connection
.TraceIdentifier);
283
Assert.Single(
_http1Connection
.RequestHeaders);
284
Assert.Equal("value1",
_http1Connection
.RequestHeaders["Header-1"]);
286
_http1Connection
.Reset();
295
Assert.Single(
_http1Connection
.RequestHeaders);
296
Assert.Equal("value2",
_http1Connection
.RequestHeaders["Header-2"]);
303
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
306
Assert.True(
_http1Connection
.HasResponseStarted);
307
Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status404NotFound);
314
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
317
Assert.True(
_http1Connection
.HasResponseStarted);
318
Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)
_http1Connection
).ReasonPhrase = "Reason phrase");
324
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
327
Assert.True(
_http1Connection
.HasResponseStarted);
328
Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)
_http1Connection
).OnStarting(_ => Task.CompletedTask, null));
335
((IFeatureCollection)
_http1Connection
).Get<IHttpMinRequestBodyDataRateFeature>().MinDataRate = minDataRate;
337
Assert.Same(minDataRate,
_http1Connection
.MinRequestBodyDataRate);
344
((IFeatureCollection)
_http1Connection
).Get<IHttpMinResponseDataRateFeature>().MinDataRate = minDataRate;
346
Assert.Same(minDataRate,
_http1Connection
.MinResponseDataRate);
353
var originalRequestHeaders =
_http1Connection
.RequestHeaders;
354
_http1Connection
.RequestHeaders = new HttpRequestHeaders();
357
_http1Connection
.Reset();
360
Assert.Same(originalRequestHeaders,
_http1Connection
.RequestHeaders);
367
var originalResponseHeaders =
_http1Connection
.ResponseHeaders;
368
_http1Connection
.ResponseHeaders = new HttpResponseHeaders();
371
_http1Connection
.Reset();
374
Assert.Same(originalResponseHeaders,
_http1Connection
.ResponseHeaders);
381
var messageBody = Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
382
_http1Connection
.InitializeBodyControl(messageBody);
384
var originalRequestBody =
_http1Connection
.RequestBody;
385
var originalResponseBody =
_http1Connection
.ResponseBody;
386
_http1Connection
.RequestBody = new MemoryStream();
387
_http1Connection
.ResponseBody = new MemoryStream();
390
_http1Connection
.InitializeBodyControl(messageBody);
393
Assert.Same(originalRequestBody,
_http1Connection
.RequestBody);
394
Assert.Same(originalResponseBody,
_http1Connection
.ResponseBody);
420
Assert.Equal(expectedMethod, ((IHttpRequestFeature)
_http1Connection
).Method);
421
Assert.Equal(expectedRawTarget,
_http1Connection
.RawTarget);
422
Assert.Equal(expectedDecodedPath,
_http1Connection
.Path);
423
Assert.Equal(expectedQueryString,
_http1Connection
.QueryString);
424
Assert.Equal(expectedHttpVersion,
_http1Connection
.HttpVersion);
443
Assert.Equal(expectedRawTarget,
_http1Connection
.RawTarget);
444
Assert.Equal(expectedDecodedPath,
_http1Connection
.Path);
445
Assert.Equal(expectedQueryString,
_http1Connection
.QueryString);
565
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
570
_http1Connection
.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout);
580
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
583
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1])));
590
_http1Connection
.HttpVersion = "HTTP/1.1";
591
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
594
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]), default(CancellationToken)));
601
_http1Connection
.HttpVersion = "HTTP/1.1";
602
_http1Connection
.Method = HttpMethod.Head;
605
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
612
_http1Connection
.HttpVersion = "HTTP/1.1";
613
_http1Connection
.Method = HttpMethod.Head;
616
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]), default(CancellationToken));
623
_http1Connection
.HttpVersion = "HTTP/1.1";
624
_http1Connection
.Method = HttpMethod.Head;
627
_http1Connection
.ResponseHeaders.Add("Transfer-Encoding", "chunked");
630
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.FlushAsync());
637
_http1Connection
.HttpVersion = "HTTP/1.1";
638
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
641
_http1Connection
.ResponseHeaders.Add("Transfer-Encoding", "chunked");
644
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.FlushAsync());
650
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
655
_http1Connection
.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout);
665
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
667
var original =
_http1Connection
.RequestAborted;
671
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }));
672
Assert.Equal(original,
_http1Connection
.RequestAborted);
675
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }));
676
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
678
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
681
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
687
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
689
var original =
_http1Connection
.RequestAborted;
693
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken));
694
Assert.Equal(original,
_http1Connection
.RequestAborted);
697
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken));
698
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
700
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
703
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
715
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
716
var failResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
729
_http1Connection
.CancelPendingFlush();
731
var canceledResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
735
var goodResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
742
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
744
var original =
_http1Connection
.RequestAborted;
747
var startingTask =
_http1Connection
.InitializeResponseAwaited(Task.CompletedTask, 1);
748
await
_http1Connection
.WriteAsyncAwaited(startingTask, new ArraySegment<byte>(new[] { (byte)'h' }), default(CancellationToken));
749
Assert.Equal(original,
_http1Connection
.RequestAborted);
753
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken));
754
Assert.Equal(original,
_http1Connection
.RequestAborted);
757
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken));
758
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
760
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
763
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
769
var original =
_http1Connection
.RequestAborted;
771
_http1Connection
.HttpVersion = "HTTP/1.1";
772
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(Encoding.ASCII.GetBytes("hello, world")), default(CancellationToken));
773
Assert.Equal(original,
_http1Connection
.RequestAborted);
775
await
_http1Connection
.ProduceEndAsync();
776
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
778
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
781
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
787
var originalToken =
_http1Connection
.RequestAborted;
790
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
793
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
801
var originalToken =
_http1Connection
.RequestAborted;
804
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
809
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
817
var originalToken =
_http1Connection
.RequestAborted;
822
await
_http1Connection
.WritePipeAsync(ReadOnlyMemory<byte>.Empty, default).DefaultTimeout();
825
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
867
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
870
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders != null);
871
Assert.Empty(
_http1Connection
.RequestHeaders);
874
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count);
875
Assert.Equal(header0Count,
_http1Connection
.RequestHeaders.Count);
878
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count + header1Count);
879
Assert.Equal(header0Count + header1Count,
_http1Connection
.RequestHeaders.Count);
899
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
902
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders != null);
903
Assert.Empty(
_http1Connection
.RequestHeaders);
905
var newRequestHeaders = new RequestHeadersWrapper(
_http1Connection
.RequestHeaders);
906
_http1Connection
.RequestHeaders = newRequestHeaders;
907
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
910
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count);
911
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
912
Assert.Equal(header0Count,
_http1Connection
.RequestHeaders.Count);
915
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count + header1Count);
916
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
917
Assert.Equal(header0Count + header1Count,
_http1Connection
.RequestHeaders.Count);
928
_http1Connection
.HasStartedConsumingRequestBody = true;
931
Assert.True(((IHttpMaxRequestBodySizeFeature)
_http1Connection
).IsReadOnly);
932
var ex = Assert.Throws<InvalidOperationException>(() => ((IHttpMaxRequestBodySizeFeature)
_http1Connection
).MaxRequestBodySize = 1);
940
var ex = Assert.Throws<ArgumentOutOfRangeException>(() => ((IHttpMaxRequestBodySizeFeature)
_http1Connection
).MaxRequestBodySize = -1);
953
_http1Connection
.NextMessageBody = mockMessageBody.Object;
955
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync(httpApplication);
967
_http1Connection
.HttpVersion = "HTTP/1.0";
968
_http1Connection
.EnsureHostHeaderExists();
974
_http1Connection
.HttpVersion = "HTTP/1.0";
975
_http1Connection
.RequestHeaders.Host = "localhost:5000";
976
_http1Connection
.EnsureHostHeaderExists();
982
_http1Connection
.HttpVersion = "HTTP/1.1";
983
_http1Connection
.RequestHeaders.Host = "";
984
_http1Connection
.EnsureHostHeaderExists();
990
_http1Connection
.HttpVersion = "HTTP/1.1";
991
_http1Connection
.RequestHeaders.Host = "localhost:5000";
992
_http1Connection
.EnsureHostHeaderExists();
998
_http1Connection
.HttpVersion = "HTTP/1.0";
999
_http1Connection
.RequestHeaders.Host = "a=b";
1000
var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() =>
_http1Connection
.EnsureHostHeaderExists());
1007
_http1Connection
.HttpVersion = "HTTP/1.1";
1008
_http1Connection
.RequestHeaders.Host = "a=b";
1009
var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() =>
_http1Connection
.EnsureHostHeaderExists());
1018
_http1Connection
.RequestHeaders.Add(HeaderNames.ContentLength, contentLength);
1019
_http1Connection
.RequestHeaders.Add(HeaderNames.TransferEncoding, "chunked");
1022
Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
1025
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey("X-Content-Length"));
1026
Assert.Equal(contentLength,
_http1Connection
.RequestHeaders["X-Content-Length"]);
1027
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding));
1028
Assert.Equal("chunked",
_http1Connection
.RequestHeaders[HeaderNames.TransferEncoding]);
1029
Assert.False(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.ContentLength));
1038
_http1Connection
.RequestHeaders.Add(HeaderNames.ContentLength, contentLength);
1039
_http1Connection
.RequestHeaders.Add(HeaderNames.TransferEncoding, "chunked");
1040
_http1Connection
.RequestHeaders.Add("X-Content-Length", userXContentLength); // user passed this explicitly
1043
Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
1046
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey("X-Content-Length"));
1047
Assert.Equal(userXContentLength,
_http1Connection
.RequestHeaders["X-Content-Length"]);
1048
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding));
1049
Assert.Equal("chunked",
_http1Connection
.RequestHeaders[HeaderNames.TransferEncoding]);
1050
Assert.False(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.ContentLength));
1056
if (
_http1Connection
.TakeMessageHeaders(ref reader, trailers: trailers))
1073
if (
_http1Connection
.TakeStartLine(ref reader))