436 references to ConnectionEndReason
InMemory.FunctionalTests (190)
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)
970
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 (98)
741
AssertConnectionEndReason(
ConnectionEndReason
.MaxFrameLengthExceeded);
1505
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1520
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1536
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
1552
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
1568
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
1584
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
1599
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
1617
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
1643
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
1727
_connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
1728
AssertConnectionEndReason(
ConnectionEndReason
.AbortedByApp);
1797
AssertConnectionEndReason(
ConnectionEndReason
.StreamResetLimitExceeded);
1857
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
1881
AssertConnectionEndReason(
ConnectionEndReason
.FlowControlWindowExceeded);
1912
AssertConnectionEndReason(
ConnectionEndReason
.FlowControlWindowExceeded);
2615
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2631
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2659
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2678
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
2702
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
2721
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
2737
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
2755
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
2808
AssertConnectionEndReason(
ConnectionEndReason
.InvalidDataPadding);
2825
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
2841
AssertConnectionEndReason(
ConnectionEndReason
.StreamSelfDependency);
2857
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
2887
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
2905
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
2925
AssertConnectionEndReason(
ConnectionEndReason
.MissingStreamEnd);
2941
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
2958
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2975
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
2985
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3013
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3016
private async Task HEADERS_Received_InvalidHeaderFields_ConnectionError(IEnumerable<KeyValuePair<string, string>> headers, string expectedErrorMessage,
ConnectionEndReason
expectedEndReason)
3049
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3082
expectedEndReason:
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded);
3104
expectedEndReason:
ConnectionEndReason
.MaxRequestHeaderCountExceeded);
3121
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3136
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3153
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3170
expectedEndReason:
ConnectionEndReason
.InvalidRequestHeaders);
3258
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3274
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3292
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3309
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3325
AssertConnectionEndReason(
ConnectionEndReason
.StreamSelfDependency);
3583
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3599
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3615
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3636
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3653
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3681
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
3708
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
3916
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3944
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
3961
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3979
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4000
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4026
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
4209
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4250
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4266
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4286
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4560
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4577
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4593
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4610
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4630
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4646
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4663
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4679
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4698
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
5047
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
5064
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
5083
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
5108
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5205
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
5232
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5247
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5283
_connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
5288
AssertConnectionEndReason(
ConnectionEndReason
.AbortedByApp);
5358
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5381
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5391
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5429
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5451
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5471
AssertConnectionEndReason(
ConnectionEndReason
.IOError);
5490
AssertConnectionEndReason(
ConnectionEndReason
.OtherError);
5878
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
5895
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5913
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5970
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
5974
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
6009
AssertConnectionEndReason(
ConnectionEndReason
.InvalidHttpVersion);
6024
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 (16)
102
AssertConnectionEndReason(
ConnectionEndReason
.KeepAliveTimeout);
197
AssertConnectionEndReason(
ConnectionEndReason
.RequestHeadersTimeout);
307
AssertConnectionEndReason(
ConnectionEndReason
.FrameAfterStreamClose);
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);
1041
AssertConnectionEndReason(
ConnectionEndReason
.RequestHeadersTimeout);
1126
AssertConnectionEndReason(
ConnectionEndReason
.RequestHeadersTimeout);
Http2\TlsTests.cs (1)
80
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.InsufficientTlsVersion, m.Tags));
Http3\Http3ConnectionTests.cs (8)
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);
795
MetricsAssert.Equal(
ConnectionEndReason
.ClosedCriticalStream, Http3Api.ConnectionTags);
821
MetricsAssert.Equal(
ConnectionEndReason
.ClosedCriticalStream, 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 (226)
Internal\Http\Http1ChunkedEncodingMessageBody.cs (1)
143
KestrelMetrics.AddConnectionEndReason(_context.MetricsContext,
ConnectionEndReason
.UnexpectedEndOfRequestContent);
Internal\Http\Http1Connection.cs (23)
127
_http1Output.Abort(ServerOptions.FinOnError ? new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient) : null!,
ConnectionEndReason
.TransportCompleted);
133
_http1Output.Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByClient),
ConnectionEndReason
.TransportCompleted);
140
public void Abort(ConnectionAbortedException abortReason,
ConnectionEndReason
reason)
150
Abort(new ConnectionAbortedException(CoreStrings.ConnectionAbortedByApplication),
ConnectionEndReason
.AbortedByApp);
158
public void StopProcessingNextRequest(
ConnectionEndReason
reason)
164
internal override void DisableKeepAlive(
ConnectionEndReason
reason)
178
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.RequestHeadersTimeout);
186
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.MinRequestBodyDataRate);
755
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
766
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
799
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
808
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
890
KestrelMetrics.AddConnectionEndReason(MetricsContext,
ConnectionEndReason
.OtherError);
943
internal static
ConnectionEndReason
GetConnectionEndReason(Microsoft.AspNetCore.Http.BadHttpRequestException ex)
952
return
ConnectionEndReason
.InvalidHttpVersion;
956
return
ConnectionEndReason
.InvalidRequestLine;
969
return
ConnectionEndReason
.InvalidRequestHeaders;
971
return
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded;
973
return
ConnectionEndReason
.MaxRequestHeaderCountExceeded;
975
return
ConnectionEndReason
.TlsNotSupported;
977
return
ConnectionEndReason
.UnexpectedEndOfRequestContent;
981
return
ConnectionEndReason
.OtherError;
1040
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);
212
KestrelMetrics.AddConnectionEndReason(context.MetricsContext,
ConnectionEndReason
.InvalidRequestHeaders);
233
KestrelMetrics.AddConnectionEndReason(_context.MetricsContext,
ConnectionEndReason
.UnexpectedEndOfRequestContent);
Internal\Http\Http1OutputProducer.cs (1)
462
public void Abort(ConnectionAbortedException error,
ConnectionEndReason
reason)
Internal\Http\HttpProtocol.cs (9)
684
DisableKeepAlive(
ConnectionEndReason
.RequestNoKeepAlive);
893
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
946
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
1065
DisableKeepAlive(
ConnectionEndReason
.ErrorAfterStartingResponse);
1172
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1183
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1219
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1252
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1447
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
.FrameAfterStreamClose);
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);
862
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.InvalidStreamId);
940
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.StreamSelfDependency);
1007
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorSettingsAckLengthNotZero, Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
1015
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorSettingsLengthNotMultipleOfSix, Http2ErrorCode.FRAME_SIZE_ERROR,
ConnectionEndReason
.InvalidFrameLength);
1049
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorInitialWindowSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR,
ConnectionEndReason
.InvalidSettings);
1071
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorSettingsParameterOutOfRange(ex.Parameter), errorCode,
ConnectionEndReason
.InvalidSettings);
1122
StopProcessingNextRequest(serverInitiated: false,
ConnectionEndReason
.ClientGoAway);
1159
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorWindowUpdateIncrementZero, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidWindowUpdateSize);
1166
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorWindowUpdateSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR,
ConnectionEndReason
.InvalidWindowUpdateSize);
1200
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorContinuationWithNoHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.UnexpectedFrame);
1352
Abort(new ConnectionAbortedException(CoreStrings.Http2ConnectionFaulted), Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1354
throw new Http2ConnectionErrorException(CoreStrings.Http2ConnectionFaulted, Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1413
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdle(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
1469
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
1613
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_HeadersExceedMaxTotalSize, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded);
1675
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeaderCountExceeded);
1680
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1684
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_MalformedRequestInvalidHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1695
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorConnectionSpecificHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1706
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailerNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1710
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorHeaderNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1739
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorPseudoHeaderFieldAfterRegularHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1745
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailersContainPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1754
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorUnknownPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1761
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorResponsePseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1768
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 (22)
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));
344
ConnectionEndReason
reason =
ConnectionEndReason
.Unset;
471
reason =
ConnectionEndReason
.ConnectionReset;
475
reason =
ConnectionEndReason
.TransportCompleted;
485
reason =
ConnectionEndReason
.IOError;
491
reason =
ConnectionEndReason
.OtherError;
502
reason =
ConnectionEndReason
.OtherError;
545
if (reason ==
ConnectionEndReason
.Unset && _gracefulCloseReason !=
ConnectionEndReason
.Unset)
580
Abort(CreateConnectionAbortError(error, clientAbort), Http3ErrorCode.InternalError,
ConnectionEndReason
.OtherError);
742
var connectionError = new Http3ConnectionErrorException(CoreStrings.Http3ControlStreamErrorInitializingOutbound, Http3ErrorCode.ClosedCriticalStream,
ConnectionEndReason
.ClosedCriticalStream);
746
Abort(new ConnectionAbortedException(connectionError.Message, connectionError), connectionError.ErrorCode,
ConnectionEndReason
.ClosedCriticalStream);
908
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestHeadersTimeout),
ConnectionEndReason
.RequestHeadersTimeout);
916
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestBodyTimeout),
ConnectionEndReason
.MinRequestBodyDataRate);
924
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)
212
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("control"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
221
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("encoder"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
230
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamErrorMultipleInboundStreams("decoder"), Http3ErrorCode.StreamCreationError,
ConnectionEndReason
.StreamCreationError);
335
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ErrorUnsupportedFrameOnControlStream(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
355
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamFrameTooLarge(http3RawFrame.FormattedType), Http3ErrorCode.FrameError,
ConnectionEndReason
.InvalidFrameLength);
367
throw new Http3ConnectionErrorException(CoreStrings.Http3ErrorControlStreamMultipleSettingsFrames, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
407
throw new Http3ConnectionErrorException(message, Http3ErrorCode.SettingsError,
ConnectionEndReason
.InvalidSettings);
433
_context.Connection.StopProcessingNextRequest(serverInitiated: false,
ConnectionEndReason
.ClientGoAway);
490
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3ControlStreamFrameTooLarge(Http3Formatting.ToFormattedType(incomingFrame.Type)), Http3ErrorCode.FrameError,
ConnectionEndReason
.InvalidFrameLength);
499
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)
790
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnRequestStream(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
793
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnServer(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
813
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3StreamErrorFrameReceivedAfterTrailers(Http3Formatting.ToFormattedType(Http3FrameType.Headers)), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
923
throw new Http3ConnectionErrorException(CoreStrings.Http3StreamErrorDataReceivedBeforeHeaders, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
931
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)
148
AddConnectionEndReason(metricsContext,
ConnectionEndReason
.MaxConcurrentConnectionsExceeded);
383
public static void AddConnectionEndReason(IConnectionMetricsTagsFeature? feature,
ConnectionEndReason
reason)
385
Debug.Assert(reason !=
ConnectionEndReason
.Unset);
396
public static void AddConnectionEndReason(ConnectionMetricsContext? context,
ConnectionEndReason
reason, bool overwrite = false)
398
Debug.Assert(reason !=
ConnectionEndReason
.Unset);
422
internal static string? GetErrorType(
ConnectionEndReason
reason)
428
internal static bool TryGetErrorType(
ConnectionEndReason
reason, [NotNullWhen(true)]out string? errorTypeValue)
432
ConnectionEndReason
.Unset => null, // Not an error
433
ConnectionEndReason
.ClientGoAway => null, // Not an error
434
ConnectionEndReason
.TransportCompleted => null, // Not an error
435
ConnectionEndReason
.GracefulAppShutdown => null, // Not an error
436
ConnectionEndReason
.RequestNoKeepAlive => null, // Not an error
437
ConnectionEndReason
.ResponseNoKeepAlive => null, // Not an error
438
ConnectionEndReason
.ErrorAfterStartingResponse => "error_after_starting_response",
439
ConnectionEndReason
.ConnectionReset => "connection_reset",
440
ConnectionEndReason
.FlowControlWindowExceeded => "flow_control_window_exceeded",
441
ConnectionEndReason
.KeepAliveTimeout => "keep_alive_timeout",
442
ConnectionEndReason
.InsufficientTlsVersion => "insufficient_tls_version",
443
ConnectionEndReason
.InvalidHandshake => "invalid_handshake",
444
ConnectionEndReason
.InvalidStreamId => "invalid_stream_id",
445
ConnectionEndReason
.FrameAfterStreamClose => "frame_after_stream_close",
446
ConnectionEndReason
.UnknownStream => "unknown_stream",
447
ConnectionEndReason
.UnexpectedFrame => "unexpected_frame",
448
ConnectionEndReason
.InvalidFrameLength => "invalid_frame_length",
449
ConnectionEndReason
.InvalidDataPadding => "invalid_data_padding",
450
ConnectionEndReason
.InvalidRequestHeaders => "invalid_request_headers",
451
ConnectionEndReason
.StreamResetLimitExceeded => "stream_reset_limit_exceeded",
452
ConnectionEndReason
.InvalidWindowUpdateSize => "invalid_window_update_size",
453
ConnectionEndReason
.StreamSelfDependency => "stream_self_dependency",
454
ConnectionEndReason
.InvalidSettings => "invalid_settings",
455
ConnectionEndReason
.MissingStreamEnd => "missing_stream_end",
456
ConnectionEndReason
.MaxFrameLengthExceeded => "max_frame_length_exceeded",
457
ConnectionEndReason
.ErrorReadingHeaders => "error_reading_headers",
458
ConnectionEndReason
.ErrorWritingHeaders => "error_writing_headers",
459
ConnectionEndReason
.OtherError => "other_error",
460
ConnectionEndReason
.InvalidHttpVersion => "invalid_http_version",
461
ConnectionEndReason
.RequestHeadersTimeout => "request_headers_timeout",
462
ConnectionEndReason
.MinRequestBodyDataRate => "min_request_body_data_rate",
463
ConnectionEndReason
.MinResponseDataRate => "min_response_data_rate",
464
ConnectionEndReason
.FlowControlQueueSizeExceeded => "flow_control_queue_size_exceeded",
465
ConnectionEndReason
.OutputQueueSizeExceeded => "output_queue_size_exceeded",
466
ConnectionEndReason
.ClosedCriticalStream => "closed_critical_stream",
467
ConnectionEndReason
.AbortedByApp => "aborted_by_app",
468
ConnectionEndReason
.WriteCanceled => "write_canceled",
469
ConnectionEndReason
.InvalidBodyReaderState => "invalid_body_reader_state",
470
ConnectionEndReason
.ServerTimeout => "server_timeout",
471
ConnectionEndReason
.StreamCreationError => "stream_creation_error",
472
ConnectionEndReason
.IOError => "io_error",
473
ConnectionEndReason
.AppShutdownTimeout => "app_shutdown_timeout",
474
ConnectionEndReason
.TlsHandshakeFailed => "tls_handshake_failed",
475
ConnectionEndReason
.InvalidRequestLine => "invalid_request_line",
476
ConnectionEndReason
.TlsNotSupported => "tls_not_supported",
477
ConnectionEndReason
.MaxRequestBodySizeExceeded => "max_request_body_size_exceeded",
478
ConnectionEndReason
.UnexpectedEndOfRequestContent => "unexpected_end_of_request_content",
479
ConnectionEndReason
.MaxConcurrentConnectionsExceeded => "max_concurrent_connections_exceeded",
480
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded => "max_request_headers_total_size_exceeded",
481
ConnectionEndReason
.MaxRequestHeaderCountExceeded => "max_request_header_count_exceeded",
482
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)
274
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)
252
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
596
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
681
_http1Connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
704
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
726
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
741
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
786
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
804
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
816
_http1Connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
830
_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)
599
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinResponseDataRate, m.Tags));
847
Assert.Collection(connectionDuration.GetMeasurementSnapshot(), m => MetricsAssert.Equal(
ConnectionEndReason
.MinResponseDataRate, m.Tags));