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();
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");
332
Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)
_http1Connection
).ReasonPhrase = reasonPhrase);
343
((IHttpResponseFeature)
_http1Connection
).ReasonPhrase = reasonPhrase;
344
Assert.Equal(reasonPhrase, ((IHttpResponseFeature)
_http1Connection
).ReasonPhrase);
350
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
353
Assert.True(
_http1Connection
.HasResponseStarted);
354
Assert.Throws<InvalidOperationException>(() => ((IHttpResponseFeature)
_http1Connection
).OnStarting(_ => Task.CompletedTask, null));
361
((IFeatureCollection)
_http1Connection
).Get<IHttpMinRequestBodyDataRateFeature>().MinDataRate = minDataRate;
363
Assert.Same(minDataRate,
_http1Connection
.MinRequestBodyDataRate);
370
((IFeatureCollection)
_http1Connection
).Get<IHttpMinResponseDataRateFeature>().MinDataRate = minDataRate;
372
Assert.Same(minDataRate,
_http1Connection
.MinResponseDataRate);
379
var originalRequestHeaders =
_http1Connection
.RequestHeaders;
380
_http1Connection
.RequestHeaders = new HttpRequestHeaders();
383
_http1Connection
.Reset();
386
Assert.Same(originalRequestHeaders,
_http1Connection
.RequestHeaders);
393
var originalResponseHeaders =
_http1Connection
.ResponseHeaders;
394
_http1Connection
.ResponseHeaders = new HttpResponseHeaders();
397
_http1Connection
.Reset();
400
Assert.Same(originalResponseHeaders,
_http1Connection
.ResponseHeaders);
407
var messageBody = Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
408
_http1Connection
.InitializeBodyControl(messageBody);
410
var originalRequestBody =
_http1Connection
.RequestBody;
411
var originalResponseBody =
_http1Connection
.ResponseBody;
412
_http1Connection
.RequestBody = new MemoryStream();
413
_http1Connection
.ResponseBody = new MemoryStream();
416
_http1Connection
.InitializeBodyControl(messageBody);
419
Assert.Same(originalRequestBody,
_http1Connection
.RequestBody);
420
Assert.Same(originalResponseBody,
_http1Connection
.ResponseBody);
446
Assert.Equal(expectedMethod, ((IHttpRequestFeature)
_http1Connection
).Method);
447
Assert.Equal(expectedRawTarget,
_http1Connection
.RawTarget);
448
Assert.Equal(expectedDecodedPath,
_http1Connection
.Path);
449
Assert.Equal(expectedQueryString,
_http1Connection
.QueryString);
450
Assert.Equal(expectedHttpVersion,
_http1Connection
.HttpVersion);
469
Assert.Equal(expectedRawTarget,
_http1Connection
.RawTarget);
470
Assert.Equal(expectedDecodedPath,
_http1Connection
.Path);
471
Assert.Equal(expectedQueryString,
_http1Connection
.QueryString);
591
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
596
_http1Connection
.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout);
606
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
609
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1])));
616
_http1Connection
.HttpVersion = "HTTP/1.1";
617
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
620
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]), default(CancellationToken)));
627
_http1Connection
.HttpVersion = "HTTP/1.1";
628
_http1Connection
.Method = HttpMethod.Head;
631
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new byte[1]));
638
_http1Connection
.HttpVersion = "HTTP/1.1";
639
_http1Connection
.Method = HttpMethod.Head;
642
await
_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");
656
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.FlushAsync());
663
_http1Connection
.HttpVersion = "HTTP/1.1";
664
((IHttpResponseFeature)
_http1Connection
).StatusCode = StatusCodes.Status304NotModified;
667
_http1Connection
.ResponseHeaders.Add("Transfer-Encoding", "chunked");
670
await Assert.ThrowsAsync<InvalidOperationException>(() =>
_http1Connection
.FlushAsync());
676
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
681
_http1Connection
.StopProcessingNextRequest(ConnectionEndReason.AppShutdownTimeout);
691
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
693
var original =
_http1Connection
.RequestAborted;
697
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }));
698
Assert.Equal(original,
_http1Connection
.RequestAborted);
701
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }));
702
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
704
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
707
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
713
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
715
var original =
_http1Connection
.RequestAborted;
719
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken));
720
Assert.Equal(original,
_http1Connection
.RequestAborted);
723
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken));
724
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
726
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
729
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
741
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
742
var failResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
755
_http1Connection
.CancelPendingFlush();
757
var canceledResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
761
var goodResult = await
_http1Connection
.FlushPipeAsync(new CancellationToken());
768
_http1Connection
.ResponseHeaders["Content-Length"] = "12";
770
var original =
_http1Connection
.RequestAborted;
773
var startingTask =
_http1Connection
.InitializeResponseAwaited(Task.CompletedTask, 1);
774
await
_http1Connection
.WriteAsyncAwaited(startingTask, new ArraySegment<byte>(new[] { (byte)'h' }), default(CancellationToken));
775
Assert.Equal(original,
_http1Connection
.RequestAborted);
779
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)ch }), default(CancellationToken));
780
Assert.Equal(original,
_http1Connection
.RequestAborted);
783
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(new[] { (byte)'d' }), default(CancellationToken));
784
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
786
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
789
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
795
var original =
_http1Connection
.RequestAborted;
797
_http1Connection
.HttpVersion = "HTTP/1.1";
798
await
_http1Connection
.WriteAsync(new ArraySegment<byte>(Encoding.ASCII.GetBytes("hello, world")), default(CancellationToken));
799
Assert.Equal(original,
_http1Connection
.RequestAborted);
801
await
_http1Connection
.ProduceEndAsync();
802
Assert.NotEqual(original,
_http1Connection
.RequestAborted);
804
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
807
Assert.False(
_http1Connection
.RequestAborted.IsCancellationRequested);
813
var originalToken =
_http1Connection
.RequestAborted;
816
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
819
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
827
var originalToken =
_http1Connection
.RequestAborted;
830
_http1Connection
.Abort(new ConnectionAbortedException(), ConnectionEndReason.AbortedByApp);
835
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
843
var originalToken =
_http1Connection
.RequestAborted;
848
await
_http1Connection
.WritePipeAsync(ReadOnlyMemory<byte>.Empty, default).DefaultTimeout();
851
Assert.True(
_http1Connection
.RequestAborted.WaitHandle.WaitOne(TestConstants.DefaultTimeout));
893
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
896
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders != null);
897
Assert.Empty(
_http1Connection
.RequestHeaders);
900
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count);
901
Assert.Equal(header0Count,
_http1Connection
.RequestHeaders.Count);
904
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count + header1Count);
905
Assert.Equal(header0Count + header1Count,
_http1Connection
.RequestHeaders.Count);
925
var requestProcessingTask =
_http1Connection
.ProcessRequestsAsync<object>(null);
928
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders != null);
929
Assert.Empty(
_http1Connection
.RequestHeaders);
931
var newRequestHeaders = new RequestHeadersWrapper(
_http1Connection
.RequestHeaders);
932
_http1Connection
.RequestHeaders = newRequestHeaders;
933
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
936
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count);
937
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
938
Assert.Equal(header0Count,
_http1Connection
.RequestHeaders.Count);
941
await WaitForCondition(TestConstants.DefaultTimeout, () =>
_http1Connection
.RequestHeaders.Count >= header0Count + header1Count);
942
Assert.Same(newRequestHeaders,
_http1Connection
.RequestHeaders);
943
Assert.Equal(header0Count + header1Count,
_http1Connection
.RequestHeaders.Count);
954
_http1Connection
.HasStartedConsumingRequestBody = true;
957
Assert.True(((IHttpMaxRequestBodySizeFeature)
_http1Connection
).IsReadOnly);
958
var ex = Assert.Throws<InvalidOperationException>(() => ((IHttpMaxRequestBodySizeFeature)
_http1Connection
).MaxRequestBodySize = 1);
966
var ex = Assert.Throws<ArgumentOutOfRangeException>(() => ((IHttpMaxRequestBodySizeFeature)
_http1Connection
).MaxRequestBodySize = -1);
979
_http1Connection
.NextMessageBody = mockMessageBody.Object;
981
var 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";
1026
var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() =>
_http1Connection
.EnsureHostHeaderExists());
1033
_http1Connection
.HttpVersion = "HTTP/1.1";
1034
_http1Connection
.RequestHeaders.Host = "a=b";
1035
var ex = Assert.ThrowsAny<Http.BadHttpRequestException>(() =>
_http1Connection
.EnsureHostHeaderExists());
1044
_http1Connection
.RequestHeaders.Add(HeaderNames.ContentLength, contentLength);
1045
_http1Connection
.RequestHeaders.Add(HeaderNames.TransferEncoding, "chunked");
1048
Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
1051
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey("X-Content-Length"));
1052
Assert.Equal(contentLength,
_http1Connection
.RequestHeaders["X-Content-Length"]);
1053
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding));
1054
Assert.Equal("chunked",
_http1Connection
.RequestHeaders[HeaderNames.TransferEncoding]);
1055
Assert.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
1069
Http1MessageBody.For(Kestrel.Core.Internal.Http.HttpVersion.Http11, (HttpRequestHeaders)
_http1Connection
.RequestHeaders,
_http1Connection
);
1072
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey("X-Content-Length"));
1073
Assert.Equal(userXContentLength,
_http1Connection
.RequestHeaders["X-Content-Length"]);
1074
Assert.True(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.TransferEncoding));
1075
Assert.Equal("chunked",
_http1Connection
.RequestHeaders[HeaderNames.TransferEncoding]);
1076
Assert.False(
_http1Connection
.RequestHeaders.ContainsKey(HeaderNames.ContentLength));
1082
if (
_http1Connection
.TakeMessageHeaders(ref reader, trailers: trailers))
1099
if (
_http1Connection
.TakeStartLine(ref reader))