430 references to ConnectionEndReason
InMemory.FunctionalTests (185)
BadHttpRequestTests.cs (16)
32
ConnectionEndReason
.InvalidRequestLine);
43
ConnectionEndReason
.InvalidHttpVersion);
54
ConnectionEndReason
.InvalidRequestHeaders);
85
ConnectionEndReason
.InvalidRequestHeaders);
97
ConnectionEndReason
.InvalidRequestHeaders);
109
ConnectionEndReason
.InvalidRequestHeaders);
121
ConnectionEndReason
.InvalidRequestHeaders,
132
ConnectionEndReason
.InvalidRequestHeaders);
141
ConnectionEndReason
.InvalidRequestHeaders);
152
ConnectionEndReason
.InvalidRequestHeaders);
199
ConnectionEndReason
.InvalidRequestHeaders);
209
ConnectionEndReason
.InvalidRequestHeaders);
253
m => MetricsAssert.Equal(
ConnectionEndReason
.InvalidRequestLine, m.Tags));
276
m => MetricsAssert.Equal(
ConnectionEndReason
.InvalidHttpVersion, m.Tags));
286
ConnectionEndReason
.InvalidRequestLine);
316
private async Task TestBadRequest(string request, string expectedResponseStatusCode, string expectedExceptionMessage,
ConnectionEndReason
reason, string expectedAllowHeader = null)
ChunkedRequestTests.cs (1)
905
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedEndOfRequestContent, m.Tags));
ConnectionLimitTests.cs (1)
166
Assert.Equal(10, connectionErrors.Single(e => e.Key == KestrelMetrics.GetErrorType(
ConnectionEndReason
.MaxConcurrentConnectionsExceeded)).Count());
Http2\Http2ConnectionTests.cs (97)
732
AssertConnectionEndReason(
ConnectionEndReason
.MaxFrameLengthExceeded);
1496
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1511
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1527
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
1543
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
1559
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
1575
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
1590
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1608
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
1634
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
1718
_connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
1719
AssertConnectionEndReason(
ConnectionEndReason
.AbortedByApp);
1788
AssertConnectionEndReason(
ConnectionEndReason
.StreamResetLimitExceeded);
1848
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
1872
AssertConnectionEndReason(
ConnectionEndReason
.FlowControlWindowExceeded);
1903
AssertConnectionEndReason(
ConnectionEndReason
.FlowControlWindowExceeded);
2537
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2553
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2581
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2600
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
2624
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2643
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
2659
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
2677
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
2694
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
2710
AssertConnectionEndReason(
ConnectionEndReason
.StreamSelfDependency);
2726
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
2756
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
2774
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
2794
AssertConnectionEndReason(
ConnectionEndReason
.MissingStreamEnd);
2810
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
2827
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2844
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2854
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2882
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2885
private async Task HEADERS_Received_InvalidHeaderFields_ConnectionError(IEnumerable<KeyValuePair<string, string>> headers, string expectedErrorMessage,
ConnectionEndReason
expectedEndReason)
2918
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2951
expectedEndReason:
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded);
2973
expectedEndReason:
ConnectionEndReason
.MaxRequestHeaderCountExceeded);
2990
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3005
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3022
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3039
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3127
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3143
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3161
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3178
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3194
AssertConnectionEndReason(
ConnectionEndReason
.StreamSelfDependency);
3452
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3468
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3484
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3505
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3522
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3549
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
3575
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
3775
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3803
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
3820
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3838
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3859
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3885
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
4068
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4109
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4125
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4145
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4419
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4436
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4452
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4469
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4489
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4505
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4522
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4538
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4557
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4906
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4923
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
4942
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
4967
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5064
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
5091
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5106
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5142
_connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
5147
AssertConnectionEndReason(
ConnectionEndReason
.AbortedByApp);
5217
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5240
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5250
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5288
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5311
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5331
AssertConnectionEndReason(
ConnectionEndReason
.IOError);
5350
AssertConnectionEndReason(
ConnectionEndReason
.OtherError);
5737
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
5754
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5772
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5828
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
5832
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5867
AssertConnectionEndReason(
ConnectionEndReason
.InvalidHttpVersion);
5882
AssertConnectionEndReason(
ConnectionEndReason
.InvalidHandshake);
Http2\Http2KeepAliveTests.cs (1)
206
AssertConnectionEndReason(
ConnectionEndReason
.KeepAliveTimeout);
Http2\Http2StreamTests.cs (5)
41
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
2236
AssertConnectionEndReason(
ConnectionEndReason
.ErrorWritingHeaders);
2587
AssertConnectionEndReason(
ConnectionEndReason
.ErrorWritingHeaders);
5835
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
5855
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
Http2\Http2TestBase.cs (1)
433
internal void AssertConnectionEndReason(
ConnectionEndReason
expectedEndReason)
Http2\Http2TimeoutTests.cs (14)
102
AssertConnectionEndReason(
ConnectionEndReason
.KeepAliveTimeout);
197
AssertConnectionEndReason(
ConnectionEndReason
.RequestHeadersTimeout);
307
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
311
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
391
AssertConnectionEndReason(
ConnectionEndReason
.MinResponseDataRate);
446
AssertConnectionEndReason(
ConnectionEndReason
.MinResponseDataRate);
498
AssertConnectionEndReason(
ConnectionEndReason
.MinResponseDataRate);
552
AssertConnectionEndReason(
ConnectionEndReason
.MinResponseDataRate);
618
AssertConnectionEndReason(
ConnectionEndReason
.MinResponseDataRate);
665
AssertConnectionEndReason(
ConnectionEndReason
.MinRequestBodyDataRate);
716
AssertConnectionEndReason(
ConnectionEndReason
.MinRequestBodyDataRate);
783
AssertConnectionEndReason(
ConnectionEndReason
.MinRequestBodyDataRate);
851
AssertConnectionEndReason(
ConnectionEndReason
.MinRequestBodyDataRate);
992
AssertConnectionEndReason(
ConnectionEndReason
.MinRequestBodyDataRate);
Http2\TlsTests.cs (1)
80
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.InsufficientTlsVersion, m.Tags));
Http3\Http3ConnectionTests.cs (6)
248
MetricsAssert.Equal(
ConnectionEndReason
.InvalidSettings, Http3Api.ConnectionTags);
268
MetricsAssert.Equal(
ConnectionEndReason
.StreamCreationError, Http3Api.ConnectionTags);
290
MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedFrame, Http3Api.ConnectionTags);
315
MetricsAssert.Equal(
ConnectionEndReason
.ClosedCriticalStream, Http3Api.ConnectionTags);
360
MetricsAssert.Equal(
ConnectionEndReason
.ClosedCriticalStream, Http3Api.ConnectionTags);
389
MetricsAssert.Equal(
ConnectionEndReason
.InvalidFrameLength, Http3Api.ConnectionTags);
Http3\Http3StreamTests.cs (3)
2038
MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedFrame, Http3Api.ConnectionTags);
2114
MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedFrame, Http3Api.ConnectionTags);
2144
MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedFrame, Http3Api.ConnectionTags);
Http3\Http3TimeoutTests.cs (9)
31
MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, Http3Api.ConnectionTags);
48
MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, Http3Api.ConnectionTags);
77
MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, Http3Api.ConnectionTags);
123
MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, Http3Api.ConnectionTags);
372
MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, Http3Api.ConnectionTags);
416
MetricsAssert.Equal(
ConnectionEndReason
.MinResponseDataRate, Http3Api.ConnectionTags);
570
MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, Http3Api.ConnectionTags);
625
MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, Http3Api.ConnectionTags);
681
MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, Http3Api.ConnectionTags);
KeepAliveTimeoutTests.cs (2)
53
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, m.Tags));
201
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.KeepAliveTimeout, m.Tags));
KestrelMetricsTests.cs (7)
34
foreach (
var
reason in Enum.GetValues<
ConnectionEndReason
>())
198
AssertDuration(m, "127.0.0.1", localPort: 0, "tcp", "ipv4", KestrelMetrics.Http11, error: KestrelMetrics.GetErrorType(
ConnectionEndReason
.InvalidBodyReaderState));
313
AssertDuration(m, "127.0.0.1", localPort: 0, "tcp", "ipv4", KestrelMetrics.Http11, error: KestrelMetrics.GetErrorType(
ConnectionEndReason
.AppShutdownTimeout));
427
AssertDuration(m, "127.0.0.1", localPort: 0, "tcp", "ipv4", KestrelMetrics.Http11, error: KestrelMetrics.GetErrorType(
ConnectionEndReason
.AbortedByApp));
663
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => AssertDuration(m, "127.0.0.1", localPort: 0, "tcp", "ipv4", KestrelMetrics.Http2, error: KestrelMetrics.GetErrorType(
ConnectionEndReason
.AppShutdownTimeout)));
906
AssertDuration(m, "127.0.0.1", localPort: 0, "tcp", "ipv4", httpVersion: null, tlsProtocolVersion: null, error: KestrelMetrics.GetErrorType(
ConnectionEndReason
.TlsHandshakeFailed));
MaxRequestBodySizeTests.cs (2)
155
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MaxRequestBodySizeExceeded, m.Tags));
409
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MaxRequestBodySizeExceeded, m.Tags));
MaxRequestLineSizeTests.cs (1)
80
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.InvalidRequestLine, m.Tags));
RequestBodyTimeoutTests.cs (3)
93
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, m.Tags));
146
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.ServerTimeout, m.Tags));
220
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinRequestBodyDataRate, m.Tags));
RequestHeaderLimitsTests.cs (2)
115
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded, m.Tags));
144
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MaxRequestHeaderCountExceeded, m.Tags));
RequestHeadersTimeoutTests.cs (3)
49
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.RequestHeadersTimeout, m.Tags));
114
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.RequestHeadersTimeout, m.Tags));
148
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.RequestHeadersTimeout, m.Tags));
RequestTests.cs (2)
1229
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.UnexpectedEndOfRequestContent, m.Tags));
2282
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.TlsNotSupported, m.Tags));
ResponseTests.cs (6)
210
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.WriteCanceled, m.Tags));
988
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.ResponseContentLengthMismatch, m.Tags));
1026
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.ResponseContentLengthMismatch, m.Tags));
2901
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.ErrorAfterStartingResponse, m.Tags));
2946
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.ErrorAfterStartingResponse, m.Tags));
3029
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.AbortedByApp, m.Tags));
src\Servers\Kestrel\shared\test\MetricsAssert.cs (2)
12
public static void Equal(
ConnectionEndReason
expectedReason, string errorType)
17
public static void Equal(
ConnectionEndReason
expectedReason, IReadOnlyDictionary<string, object> tags)
Microsoft.AspNetCore.Server.Kestrel.Core (225)
Internal\Http\Http1ChunkedEncodingMessageBody.cs (1)
140
KestrelMetrics.AddConnectionEndReason(_context.MetricsContext,
ConnectionEndReason
.UnexpectedEndOfRequestContent);
Internal\Http\Http1Connection.cs (23)
103
_http1Output.Abort(ServerOptions.FinOnError ? new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient) : null!,
ConnectionEndReason
.TransportCompleted);
109
_http1Output.Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient),
ConnectionEndReason
.TransportCompleted);
116
public void Abort(ConnectionAbortedException abortReason,
ConnectionEndReason
reason)
126
Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByApplication),
ConnectionEndReason
.AbortedByApp);
134
public void StopProcessingNextRequest(
ConnectionEndReason
reason)
140
internal override void DisableKeepAlive(
ConnectionEndReason
reason)
154
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.RequestHeadersTimeout);
162
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.MinRequestBodyDataRate);
624
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
635
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
668
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
677
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
743
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.OtherError);
792
internal static
ConnectionEndReason
GetConnectionEndReason(Microsoft.AspNetCore.Http.BadHttpRequestException ex)
801
return
ConnectionEndReason
.InvalidHttpVersion;
805
return
ConnectionEndReason
.InvalidRequestLine;
818
return
ConnectionEndReason
.InvalidRequestHeaders;
820
return
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded;
822
return
ConnectionEndReason
.MaxRequestHeaderCountExceeded;
824
return
ConnectionEndReason
.TlsNotSupported;
826
return
ConnectionEndReason
.UnexpectedEndOfRequestContent;
830
return
ConnectionEndReason
.OtherError;
841
var
reason = GetConnectionEndReason(ex);
Internal\Http\Http1ContentLengthMessageBody.cs (1)
249
_context.DisableKeepAlive(
ConnectionEndReason
.MaxRequestBodySizeExceeded);
Internal\Http\Http1MessageBody.cs (5)
75
_context.StopProcessingNextRequest(
ConnectionEndReason
.InvalidBodyReaderState);
110
_context.StopProcessingNextRequest(
ConnectionEndReason
.InvalidBodyReaderState);
120
_context.DisableKeepAlive(
ConnectionEndReason
.MaxRequestBodySizeExceeded);
210
KestrelMetrics.AddConnectionEndReason(context.MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
231
KestrelMetrics.AddConnectionEndReason(_context.MetricsContext,
ConnectionEndReason
.UnexpectedEndOfRequestContent);
Internal\Http\Http1OutputProducer.cs (1)
462
public void Abort(ConnectionAbortedException error,
ConnectionEndReason
reason)
Internal\Http\HttpProtocol.cs (9)
666
DisableKeepAlive(
ConnectionEndReason
.RequestNoKeepAlive);
875
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
928
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
1047
DisableKeepAlive(
ConnectionEndReason
.ErrorAfterStartingResponse);
1154
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1165
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1201
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1234
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1429
internal virtual void DisableKeepAlive(
ConnectionEndReason
reason)
Internal\Http\IHttpOutputAborter.cs (1)
10
void Abort(ConnectionAbortedException abortReason,
ConnectionEndReason
reason);
Internal\Http2\FlowControl\InputFlowControl.cs (1)
56
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorFlowControlWindowExceeded, Http2ErrorCode.FLOW_CONTROL_ERROR,
ConnectionEndReason
.FlowControlWindowExceeded);
Internal\Http2\Http2Connection.cs (63)
143
private
ConnectionEndReason
_gracefulCloseReason;
229
SetConnectionErrorCode(hasActiveStreams ?
ConnectionEndReason
.ConnectionReset :
ConnectionEndReason
.TransportCompleted, Http2ErrorCode.NO_ERROR);
235
private void SetConnectionErrorCode(
ConnectionEndReason
reason, Http2ErrorCode errorCode)
242
public void Abort(ConnectionAbortedException ex,
ConnectionEndReason
reason)
247
public void Abort(ConnectionAbortedException ex, Http2ErrorCode errorCode,
ConnectionEndReason
reason)
258
public void StopProcessingNextRequest(
ConnectionEndReason
reason)
264
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestHeadersTimeout), Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.RequestHeadersTimeout);
272
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestBodyTimeout), Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.MinRequestBodyDataRate);
275
public void StopProcessingNextRequest(bool serverInitiated,
ConnectionEndReason
reason)
290
var
reason =
ConnectionEndReason
.Unset;
301
reason =
ConnectionEndReason
.TransportCompleted;
361
reason =
ConnectionEndReason
.TransportCompleted;
378
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorKeepAliveTimeout, Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.KeepAliveTimeout);
396
reason =
ConnectionEndReason
.ConnectionReset;
400
reason =
ConnectionEndReason
.TransportCompleted;
409
reason =
ConnectionEndReason
.IOError;
430
reason =
ConnectionEndReason
.ErrorReadingHeaders;
437
reason =
ConnectionEndReason
.OtherError;
513
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorMinTlsVersion(tlsFeature.Protocol), Http2ErrorCode.INADEQUATE_SECURITY,
ConnectionEndReason
.InsufficientTlsVersion);
598
SetConnectionErrorCode(
ConnectionEndReason
.InvalidHttpVersion, Http2ErrorCode.PROTOCOL_ERROR);
613
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorInvalidPreface, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidHandshake);
685
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdEven(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
695
Http2FrameType.PUSH_PROMISE => throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorPushPromiseReceived, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.UnexpectedFrame),
718
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidDataPadding);
740
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
757
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.UnknownStream);
762
return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamAborted(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
767
return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
772
return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdNotZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
778
return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorHeadersInterleaved(_incomingFrame.Type, _incomingFrame.StreamId, _currentHeadersStream.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.UnexpectedFrame);
783
return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorUnexpectedFrameLength(_incomingFrame.Type, expectedLength), Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
800
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidDataPadding);
805
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.StreamSelfDependency);
825
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
831
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorHeadersWithTrailersNoEndStream, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MissingStreamEnd);
850
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.InvalidStreamId);
928
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.StreamSelfDependency);
995
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorSettingsAckLengthNotZero, Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
1003
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorSettingsLengthNotMultipleOfSix, Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
1037
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorInitialWindowSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR,
ConnectionEndReason
.InvalidSettings);
1059
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorSettingsParameterOutOfRange(ex.Parameter), errorCode,
ConnectionEndReason
.InvalidSettings);
1110
StopProcessingNextRequest(serverInitiated: false,
ConnectionEndReason
.ClientGoAway);
1147
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorWindowUpdateIncrementZero, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidWindowUpdateSize);
1154
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorWindowUpdateSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR,
ConnectionEndReason
.InvalidWindowUpdateSize);
1188
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorContinuationWithNoHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.UnexpectedFrame);
1326
Abort(new ConnectionAbortedException(CoreStrings.Http2ConnectionFaulted), Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1328
throw new Http2ConnectionErrorException(CoreStrings.Http2ConnectionFaulted, Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1387
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdle(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
1443
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
1587
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_HeadersExceedMaxTotalSize, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded);
1649
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeaderCountExceeded);
1654
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1658
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_MalformedRequestInvalidHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1669
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorConnectionSpecificHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1680
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailerNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1684
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorHeaderNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1713
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorPseudoHeaderFieldAfterRegularHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1719
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailersContainPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1728
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorUnknownPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1735
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorResponsePseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1742
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorDuplicatePseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
Internal\Http2\Http2FrameWriter.cs (6)
172
_http2Connection.Abort(ex, Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.OutputQueueSizeExceeded);
352
const
ConnectionEndReason
reason =
ConnectionEndReason
.InvalidWindowUpdateSize;
559
_http2Connection.Abort(new ConnectionAbortedException(ex.Message, ex), Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.ErrorWritingHeaders);
600
_http2Connection.Abort(new ConnectionAbortedException(ex.Message, ex), Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.ErrorWritingHeaders);
1131
_http2Connection.Abort(new ConnectionAbortedException("HTTP/2 connection exceeded the outgoing flow control maximum queue size."), Http2ErrorCode.INTERNAL_ERROR,
ConnectionEndReason
.FlowControlQueueSizeExceeded);
Internal\Http2\Http2OutputProducer.cs (1)
248
void IHttpOutputAborter.Abort(ConnectionAbortedException abortReason,
ConnectionEndReason
reason)
Internal\Http3\Http3Connection.cs (21)
48
private
ConnectionEndReason
_gracefulCloseReason;
107
public void StopProcessingNextRequest(
ConnectionEndReason
reason)
110
public void StopProcessingNextRequest(bool serverInitiated,
ConnectionEndReason
reason)
157
public void Abort(ConnectionAbortedException ex,
ConnectionEndReason
reason)
162
public void Abort(ConnectionAbortedException ex, Http3ErrorCode errorCode,
ConnectionEndReason
reason)
244
connection.OnStreamConnectionError(new Http3ConnectionErrorException(CoreStrings.Http3ErrorControlStreamClosed, Http3ErrorCode.ClosedCriticalStream,
ConnectionEndReason
.ClosedCriticalStream));
322
OnStreamConnectionError(new Http3ConnectionErrorException(CoreStrings.ConnectionTimedBecauseResponseMininumDataRateNotSatisfied, Http3ErrorCode.InternalError,
ConnectionEndReason
.MinResponseDataRate));
345
ConnectionEndReason
reason =
ConnectionEndReason
.Unset;
469
reason =
ConnectionEndReason
.ConnectionReset;
479
reason =
ConnectionEndReason
.IOError;
485
reason =
ConnectionEndReason
.OtherError;
496
reason =
ConnectionEndReason
.OtherError;
548
if (reason ==
ConnectionEndReason
.Unset && _gracefulCloseReason !=
ConnectionEndReason
.Unset)
566
Abort(CreateConnectionAbortError(error, clientAbort), Http3ErrorCode.InternalError,
ConnectionEndReason
.OtherError);
728
var connectionError = new Http3ConnectionErrorException(CoreStrings.Http3ControlStreamErrorInitializingOutbound, Http3ErrorCode.ClosedCriticalStream,
ConnectionEndReason
.ClosedCriticalStream);
732
Abort(new ConnectionAbortedException(connectionError.Message, connectionError), connectionError.ErrorCode,
ConnectionEndReason
.ClosedCriticalStream);
898
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestHeadersTimeout),
ConnectionEndReason
.RequestHeadersTimeout);
906
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestBodyTimeout),
ConnectionEndReason
.MinRequestBodyDataRate);
914
Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient), Http3ErrorCodeOrNoError,
ConnectionEndReason
.TransportCompleted);
Internal\Http3\Http3ConnectionErrorException.cs (2)
10
public Http3ConnectionErrorException(string message, Http3ErrorCode errorCode,
ConnectionEndReason
reason)
18
public
ConnectionEndReason
Reason { get; }
Internal\Http3\Http3ControlStream.cs (10)
211
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("control"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
220
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("encoder"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
229
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("decoder"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
339
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ErrorUnsupportedFrameOnControlStream(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
359
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamFrameTooLarge(http3RawFrame.FormattedType), Http3ErrorCode.FrameError,
ConnectionEndReason
.InvalidFrameLength);
371
throw new Http3ConnectionErrorException(CoreStrings.Http3ErrorControlStreamMultipleSettingsFrames, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
416
throw new Http3ConnectionErrorException(message, Http3ErrorCode.SettingsError,
ConnectionEndReason
.InvalidSettings);
442
_context.Connection.StopProcessingNextRequest(serverInitiated: false,
ConnectionEndReason
.ClientGoAway);
499
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamFrameTooLarge(Http3Formatting.ToFormattedType(incomingFrame.Type)), Http3ErrorCode.FrameError,
ConnectionEndReason
.InvalidFrameLength);
508
throw new Http3ConnectionErrorException(message, Http3ErrorCode.MissingSettings,
ConnectionEndReason
.InvalidSettings);
Internal\Http3\Http3OutputProducer.cs (1)
108
void IHttpOutputAborter.Abort(ConnectionAbortedException abortReason,
ConnectionEndReason
reason)
Internal\Http3\Http3Stream.cs (5)
788
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnRequestStream(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
791
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnServer(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
811
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3StreamErrorFrameReceivedAfterTrailers(Http3Formatting.ToFormattedType(Http3FrameType.Headers)), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
919
throw new Http3ConnectionErrorException(CoreStrings.Http3StreamErrorDataReceivedBeforeHeaders, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
927
throw new Http3ConnectionErrorException(message, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
Internal\HttpConnection.cs (6)
114
using var shutdownRegistration = connectionLifetimeNotificationFeature?.ConnectionClosedRequested.Register(state => ((HttpConnection)state!).StopProcessingNextRequest(
ConnectionEndReason
.GracefulAppShutdown), this);
153
private void StopProcessingNextRequest(
ConnectionEndReason
reason)
191
private void Abort(ConnectionAbortedException ex,
ConnectionEndReason
reason)
281
_requestProcessor!.StopProcessingNextRequest(
ConnectionEndReason
.KeepAliveTimeout);
291
Abort(new ConnectionAbortedException(CoreStrings.ConnectionTimedBecauseResponseMininumDataRateNotSatisfied),
ConnectionEndReason
.MinResponseDataRate);
295
Abort(new ConnectionAbortedException(CoreStrings.ConnectionTimedOutByServer),
ConnectionEndReason
.ServerTimeout);
Internal\Infrastructure\ConnectionMetricsContext.cs (1)
18
public
ConnectionEndReason
? ConnectionEndReason { get; set; }
Internal\Infrastructure\KestrelMetrics.cs (58)
149
AddConnectionEndReason(metricsContext,
ConnectionEndReason
.MaxConcurrentConnectionsExceeded);
420
public static void AddConnectionEndReason(IConnectionMetricsTagsFeature? feature,
ConnectionEndReason
reason)
422
Debug.Assert(reason !=
ConnectionEndReason
.Unset);
433
public static void AddConnectionEndReason(ConnectionMetricsContext? context,
ConnectionEndReason
reason, bool overwrite = false)
435
Debug.Assert(reason !=
ConnectionEndReason
.Unset);
459
internal static string? GetErrorType(
ConnectionEndReason
reason)
465
internal static bool TryGetErrorType(
ConnectionEndReason
reason, [NotNullWhen(true)]out string? errorTypeValue)
469
ConnectionEndReason
.Unset => null, // Not an error
470
ConnectionEndReason
.ClientGoAway => null, // Not an error
471
ConnectionEndReason
.TransportCompleted => null, // Not an error
472
ConnectionEndReason
.GracefulAppShutdown => null, // Not an error
473
ConnectionEndReason
.RequestNoKeepAlive => null, // Not an error
474
ConnectionEndReason
.ResponseNoKeepAlive => null, // Not an error
475
ConnectionEndReason
.ErrorAfterStartingResponse => "error_after_starting_response",
476
ConnectionEndReason
.ConnectionReset => "connection_reset",
477
ConnectionEndReason
.FlowControlWindowExceeded => "flow_control_window_exceeded",
478
ConnectionEndReason
.KeepAliveTimeout => "keep_alive_timeout",
479
ConnectionEndReason
.InsufficientTlsVersion => "insufficient_tls_version",
480
ConnectionEndReason
.InvalidHandshake => "invalid_handshake",
481
ConnectionEndReason
.InvalidStreamId => "invalid_stream_id",
482
ConnectionEndReason
.FrameAfterStreamClose => "frame_after_stream_close",
483
ConnectionEndReason
.UnknownStream => "unknown_stream",
484
ConnectionEndReason
.UnexpectedFrame => "unexpected_frame",
485
ConnectionEndReason
.InvalidFrameLength => "invalid_frame_length",
486
ConnectionEndReason
.InvalidDataPadding => "invalid_data_padding",
487
ConnectionEndReason
.InvalidRequestHeaders => "invalid_request_headers",
488
ConnectionEndReason
.StreamResetLimitExceeded => "stream_reset_limit_exceeded",
489
ConnectionEndReason
.InvalidWindowUpdateSize => "invalid_window_update_size",
490
ConnectionEndReason
.StreamSelfDependency => "stream_self_dependency",
491
ConnectionEndReason
.InvalidSettings => "invalid_settings",
492
ConnectionEndReason
.MissingStreamEnd => "missing_stream_end",
493
ConnectionEndReason
.MaxFrameLengthExceeded => "max_frame_length_exceeded",
494
ConnectionEndReason
.ErrorReadingHeaders => "error_reading_headers",
495
ConnectionEndReason
.ErrorWritingHeaders => "error_writing_headers",
496
ConnectionEndReason
.OtherError => "other_error",
497
ConnectionEndReason
.InvalidHttpVersion => "invalid_http_version",
498
ConnectionEndReason
.RequestHeadersTimeout => "request_headers_timeout",
499
ConnectionEndReason
.MinRequestBodyDataRate => "min_request_body_data_rate",
500
ConnectionEndReason
.MinResponseDataRate => "min_response_data_rate",
501
ConnectionEndReason
.FlowControlQueueSizeExceeded => "flow_control_queue_size_exceeded",
502
ConnectionEndReason
.OutputQueueSizeExceeded => "output_queue_size_exceeded",
503
ConnectionEndReason
.ClosedCriticalStream => "closed_critical_stream",
504
ConnectionEndReason
.AbortedByApp => "aborted_by_app",
505
ConnectionEndReason
.WriteCanceled => "write_canceled",
506
ConnectionEndReason
.InvalidBodyReaderState => "invalid_body_reader_state",
507
ConnectionEndReason
.ServerTimeout => "server_timeout",
508
ConnectionEndReason
.StreamCreationError => "stream_creation_error",
509
ConnectionEndReason
.IOError => "io_error",
510
ConnectionEndReason
.AppShutdownTimeout => "app_shutdown_timeout",
511
ConnectionEndReason
.TlsHandshakeFailed => "tls_handshake_failed",
512
ConnectionEndReason
.InvalidRequestLine => "invalid_request_line",
513
ConnectionEndReason
.TlsNotSupported => "tls_not_supported",
514
ConnectionEndReason
.MaxRequestBodySizeExceeded => "max_request_body_size_exceeded",
515
ConnectionEndReason
.UnexpectedEndOfRequestContent => "unexpected_end_of_request_content",
516
ConnectionEndReason
.MaxConcurrentConnectionsExceeded => "max_concurrent_connections_exceeded",
517
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded => "max_request_headers_total_size_exceeded",
518
ConnectionEndReason
.MaxRequestHeaderCountExceeded => "max_request_header_count_exceeded",
519
ConnectionEndReason
.ResponseContentLengthMismatch => "response_content_length_mismatch",
Internal\Infrastructure\PipeWriterHelpers\TimingPipeFlusher.cs (1)
95
outputAborter.Abort(new ConnectionAbortedException(CoreStrings.ConnectionOrStreamAbortedByCancellationToken, ex),
ConnectionEndReason
.WriteCanceled);
Internal\Infrastructure\TransportConnectionManager.cs (1)
83
ConnectionEndReason
.AppShutdownTimeout, overwrite: true);
Internal\IRequestProcessor.cs (2)
12
void StopProcessingNextRequest(
ConnectionEndReason
reason);
17
void Abort(ConnectionAbortedException ex,
ConnectionEndReason
reason);
Middleware\HttpsConnectionMiddleware.cs (1)
257
KestrelMetrics.AddConnectionEndReason(metricsTagsFeature,
ConnectionEndReason
.TlsHandshakeFailed);
src\Shared\ServerInfrastructure\Http2\Http2ConnectionErrorException.cs (2)
10
public Http2ConnectionErrorException(string message, Http2ErrorCode errorCode,
ConnectionEndReason
reason)
18
public
ConnectionEndReason
Reason { get; }
src\Shared\ServerInfrastructure\Http2\Http2FrameReader.cs (2)
54
throw new Http2ConnectionErrorException(SharedStrings.FormatHttp2ErrorFrameOverLimit(payloadLength, maxFrameSize), Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.MaxFrameLengthExceeded);
86
SharedStrings.FormatHttp2ErrorUnexpectedFrameLength(frame.Type, expectedLength: extendedHeaderLength), Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
Microsoft.AspNetCore.Server.Kestrel.Core.Tests (15)
Http1\Http1ConnectionTests.cs (10)
249
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
578
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
663
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
686
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
708
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
723
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
768
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
786
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
798
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
812
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
Http1\Http1OutputProducerTests.cs (3)
129
outputProducer.Abort(null,
ConnectionEndReason
.AbortedByApp);
133
outputProducer.Abort(null,
ConnectionEndReason
.AbortedByApp);
137
Assert.Equal(
ConnectionEndReason
.AbortedByApp, metricsContext.ConnectionEndReason);
src\Servers\Kestrel\shared\test\MetricsAssert.cs (2)
12
public static void Equal(
ConnectionEndReason
expectedReason, string errorType)
17
public static void Equal(
ConnectionEndReason
expectedReason, IReadOnlyDictionary<string, object> tags)
Sockets.FunctionalTests (5)
src\Servers\Kestrel\shared\test\MetricsAssert.cs (2)
12
public static void Equal(
ConnectionEndReason
expectedReason, string errorType)
17
public static void Equal(
ConnectionEndReason
expectedReason, IReadOnlyDictionary<string, object> tags)
src\Servers\Kestrel\test\FunctionalTests\RequestTests.cs (1)
789
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.AbortedByApp, m.Tags));
src\Servers\Kestrel\test\FunctionalTests\ResponseTests.cs (2)
601
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinResponseDataRate, m.Tags));
849
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinResponseDataRate, m.Tags));