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);
3774
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
3802
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
3819
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
3837
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3858
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
3884
AssertConnectionEndReason(
ConnectionEndReason
.InvalidSettings);
4067
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4108
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4124
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4144
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4418
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4435
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4451
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4468
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4488
AssertConnectionEndReason(
ConnectionEndReason
.InvalidFrameLength);
4504
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4521
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4537
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
4556
AssertConnectionEndReason(
ConnectionEndReason
.InvalidWindowUpdateSize);
4905
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
4922
AssertConnectionEndReason(
ConnectionEndReason
.ErrorReadingHeaders);
4941
AssertConnectionEndReason(
ConnectionEndReason
.InvalidRequestHeaders);
4966
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5063
AssertConnectionEndReason(
ConnectionEndReason
.UnexpectedFrame);
5090
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5105
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5141
_connection.Abort(new ConnectionAbortedException(),
ConnectionEndReason
.AbortedByApp);
5146
AssertConnectionEndReason(
ConnectionEndReason
.AbortedByApp);
5216
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5239
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5249
_connection.StopProcessingNextRequest(
ConnectionEndReason
.AppShutdownTimeout);
5287
AssertConnectionEndReason(
ConnectionEndReason
.AppShutdownTimeout);
5310
AssertConnectionEndReason(
ConnectionEndReason
.ConnectionReset);
5330
AssertConnectionEndReason(
ConnectionEndReason
.IOError);
5349
AssertConnectionEndReason(
ConnectionEndReason
.OtherError);
5736
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
5753
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5771
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5827
AssertConnectionEndReason(
ConnectionEndReason
.UnknownStream);
5831
AssertConnectionEndReason(
ConnectionEndReason
.InvalidStreamId);
5866
AssertConnectionEndReason(
ConnectionEndReason
.InvalidHttpVersion);
5881
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)
667
DisableKeepAlive(
ConnectionEndReason
.RequestNoKeepAlive);
876
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
929
DisableKeepAlive(
ConnectionEndReason
.ResponseContentLengthMismatch);
1048
DisableKeepAlive(
ConnectionEndReason
.ErrorAfterStartingResponse);
1155
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1166
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1202
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1235
DisableKeepAlive(
ConnectionEndReason
.ResponseNoKeepAlive);
1430
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);
1184
throw new Http2ConnectionErrorException(CoreStrings.Http2ErrorContinuationWithNoHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.UnexpectedFrame);
1322
Abort(new ConnectionAbortedException(CoreStrings.Http2ConnectionFaulted), Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1324
throw new Http2ConnectionErrorException(CoreStrings.Http2ConnectionFaulted, Http2ErrorCode.ENHANCE_YOUR_CALM,
ConnectionEndReason
.StreamResetLimitExceeded);
1383
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdle(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidStreamId);
1439
throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED,
ConnectionEndReason
.FrameAfterStreamClose);
1583
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_HeadersExceedMaxTotalSize, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeadersTotalSizeExceeded);
1645
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.MaxRequestHeaderCountExceeded);
1650
throw new Http2ConnectionErrorException(bre.Message, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1654
throw new Http2ConnectionErrorException(CoreStrings.BadRequest_MalformedRequestInvalidHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1665
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorConnectionSpecificHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1676
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailerNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1680
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorHeaderNameUppercase, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1709
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorPseudoHeaderFieldAfterRegularHeaders, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1715
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorTrailersContainPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1724
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorUnknownPseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1731
throw new Http2ConnectionErrorException(CoreStrings.HttpErrorResponsePseudoHeaderField, Http2ErrorCode.PROTOCOL_ERROR,
ConnectionEndReason
.InvalidRequestHeaders);
1738
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);
727
var connectionError = new Http3ConnectionErrorException(CoreStrings.Http3ControlStreamErrorInitializingOutbound, Http3ErrorCode.ClosedCriticalStream,
ConnectionEndReason
.ClosedCriticalStream);
731
Abort(new ConnectionAbortedException(connectionError.Message, connectionError), connectionError.ErrorCode,
ConnectionEndReason
.ClosedCriticalStream);
897
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestHeadersTimeout),
ConnectionEndReason
.RequestHeadersTimeout);
905
Abort(new ConnectionAbortedException(CoreStrings.BadRequest_RequestBodyTimeout),
ConnectionEndReason
.MinRequestBodyDataRate);
913
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)
772
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnRequestStream(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
775
CoreStrings.FormatHttp3ErrorUnsupportedFrameOnServer(incomingFrame.FormattedType), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame),
795
throw new Http3ConnectionErrorException(CoreStrings.FormatHttp3StreamErrorFrameReceivedAfterTrailers(Http3Formatting.ToFormattedType(Http3FrameType.Headers)), Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
903
throw new Http3ConnectionErrorException(CoreStrings.Http3StreamErrorDataReceivedBeforeHeaders, Http3ErrorCode.UnexpectedFrame,
ConnectionEndReason
.UnexpectedFrame);
911
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));