84 references to _incomingFrame
Microsoft.AspNetCore.Server.Kestrel.Core (84)
Internal\Http2\Http2Connection.cs (84)
335while (Http2FrameReader.TryReadFrame(ref buffer, _incomingFrame, _serverSettings.MaxFrameSize, out var framePayload))
338Log.Http2FrameReceived(ConnectionId, _incomingFrame);
348AbortStream(_incomingFrame.StreamId, new IOException(ex.Message, ex));
683if (_incomingFrame.StreamId != 0 && (_incomingFrame.StreamId & 1) == 0)
685throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdEven(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
688return _incomingFrame.Type switch
711if (_incomingFrame.StreamId == 0)
716if (_incomingFrame.DataHasPadding && _incomingFrame.DataPadLength >= _incomingFrame.PayloadLength)
718throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidDataPadding);
723if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
740throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
743return stream.OnDataAsync(_incomingFrame, payload);
757throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
762return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamAborted(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
767return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
772return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdNotZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
778return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorHeadersInterleaved(_incomingFrame.Type, _incomingFrame.StreamId, _currentHeadersStream.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.UnexpectedFrame);
783return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorUnexpectedFrameLength(_incomingFrame.Type, expectedLength), Http2ErrorCode.FRAME_SIZE_ERROR, ConnectionEndReason.InvalidFrameLength);
793if (_incomingFrame.StreamId == 0)
798if (_incomingFrame.HeadersHasPadding && _incomingFrame.HeadersPayloadLength <= 0)
800throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidDataPadding);
803if (_incomingFrame.HeadersHasPriority && _incomingFrame.HeadersStreamDependency == _incomingFrame.StreamId)
805throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.StreamSelfDependency);
808if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
825throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
829if (!_incomingFrame.HeadersEndStream)
839if (!_incomingFrame.HeadersEndHeaders)
850var headersPayload = payload.Slice(0, _incomingFrame.HeadersPayloadLength); // Minus padding
851return DecodeTrailersAsync(_incomingFrame.HeadersEndHeaders, headersPayload);
853else if (_incomingFrame.StreamId <= _highestOpenedStreamId)
862throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.InvalidStreamId);
873if (!_incomingFrame.HeadersEndHeaders)
881_headerFlags = _incomingFrame.HeadersFlags;
883var headersPayload = payload.Slice(0, _incomingFrame.HeadersPayloadLength); // Minus padding
884return DecodeHeadersAsync(_incomingFrame.HeadersEndHeaders, headersPayload);
892stream.InitializeWithExistingContext(_incomingFrame.StreamId);
913_incomingFrame.StreamId,
933if (_incomingFrame.StreamId == 0)
938if (_incomingFrame.PriorityStreamDependency == _incomingFrame.StreamId)
940throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.StreamSelfDependency);
943if (_incomingFrame.PayloadLength != 5)
958if (_incomingFrame.StreamId == 0)
963if (_incomingFrame.PayloadLength != 4)
970if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
998if (_incomingFrame.StreamId != 0)
1003if (_incomingFrame.SettingsAck)
1005if (_incomingFrame.PayloadLength != 0)
1013if (_incomingFrame.PayloadLength % 6 != 0)
1082if (_incomingFrame.StreamId != 0)
1087if (_incomingFrame.PayloadLength != 8)
1098if (_incomingFrame.PingAck)
1116if (_incomingFrame.StreamId != 0)
1135if (_incomingFrame.PayloadLength != 4)
1142if (_incomingFrame.WindowUpdateSizeIncrement == 0)
1162if (_incomingFrame.StreamId == 0)
1164if (!_frameWriter.TryUpdateConnectionWindow(_incomingFrame.WindowUpdateSizeIncrement))
1169else if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
1178throw new Http2StreamErrorException(_incomingFrame.StreamId, CoreStrings.Http2StreamAborted, Http2ErrorCode.STREAM_CLOSED);
1181if (!stream.TryUpdateOutputWindow(_incomingFrame.WindowUpdateSizeIncrement))
1183throw new Http2StreamErrorException(_incomingFrame.StreamId, CoreStrings.Http2ErrorWindowUpdateSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR);
1203if (_incomingFrame.StreamId != _currentHeadersStream.StreamId)
1210if (_incomingFrame.ContinuationEndHeaders)
1215return DecodeTrailersAsync(_incomingFrame.ContinuationEndHeaders, payload);
1221if (_incomingFrame.HeadersEndHeaders)
1226return DecodeHeadersAsync(_incomingFrame.ContinuationEndHeaders, payload);
1296_streams[_incomingFrame.StreamId] = _currentHeadersStream;
1411if (_incomingFrame.StreamId > _highestOpenedStreamId)
1413throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdle(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
1469throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);