84 references to _incomingFrame
Microsoft.AspNetCore.Server.Kestrel.Core (84)
Internal\Http2\Http2Connection.cs (84)
339while (Http2FrameReader.TryReadFrame(ref buffer, _incomingFrame, _serverSettings.MaxFrameSize, out var framePayload))
342Log.Http2FrameReceived(ConnectionId, _incomingFrame);
352AbortStream(_incomingFrame.StreamId, new IOException(ex.Message, ex));
687if (_incomingFrame.StreamId != 0 && (_incomingFrame.StreamId & 1) == 0)
689throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdEven(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
692return _incomingFrame.Type switch
715if (_incomingFrame.StreamId == 0)
720if (_incomingFrame.DataHasPadding && _incomingFrame.DataPadLength >= _incomingFrame.PayloadLength)
722throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidDataPadding);
727if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
744throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
747return stream.OnDataAsync(_incomingFrame, payload);
761throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
766return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamAborted(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
771return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
776return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdNotZero(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
782return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorHeadersInterleaved(_incomingFrame.Type, _incomingFrame.StreamId, _currentHeadersStream.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.UnexpectedFrame);
787return new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorUnexpectedFrameLength(_incomingFrame.Type, expectedLength), Http2ErrorCode.FRAME_SIZE_ERROR, ConnectionEndReason.InvalidFrameLength);
797if (_incomingFrame.StreamId == 0)
802if (_incomingFrame.HeadersHasPadding && _incomingFrame.HeadersPayloadLength <= 0)
804throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorPaddingTooLong(_incomingFrame.Type), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidDataPadding);
807if (_incomingFrame.HeadersHasPriority && _incomingFrame.HeadersStreamDependency == _incomingFrame.StreamId)
809throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.StreamSelfDependency);
812if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
829throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamHalfClosedRemote(_incomingFrame.Type, stream.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);
833if (!_incomingFrame.HeadersEndStream)
843if (!_incomingFrame.HeadersEndHeaders)
854var headersPayload = payload.Slice(0, _incomingFrame.HeadersPayloadLength); // Minus padding
855return DecodeTrailersAsync(_incomingFrame.HeadersEndHeaders, headersPayload);
857else if (_incomingFrame.StreamId <= _highestOpenedStreamId)
866throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.InvalidStreamId);
877if (!_incomingFrame.HeadersEndHeaders)
885_headerFlags = _incomingFrame.HeadersFlags;
887var headersPayload = payload.Slice(0, _incomingFrame.HeadersPayloadLength); // Minus padding
888return DecodeHeadersAsync(_incomingFrame.HeadersEndHeaders, headersPayload);
896stream.InitializeWithExistingContext(_incomingFrame.StreamId);
917_incomingFrame.StreamId,
937if (_incomingFrame.StreamId == 0)
942if (_incomingFrame.PriorityStreamDependency == _incomingFrame.StreamId)
944throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamSelfDependency(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.StreamSelfDependency);
947if (_incomingFrame.PayloadLength != 5)
962if (_incomingFrame.StreamId == 0)
967if (_incomingFrame.PayloadLength != 4)
974if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
1002if (_incomingFrame.StreamId != 0)
1007if (_incomingFrame.SettingsAck)
1009if (_incomingFrame.PayloadLength != 0)
1017if (_incomingFrame.PayloadLength % 6 != 0)
1086if (_incomingFrame.StreamId != 0)
1091if (_incomingFrame.PayloadLength != 8)
1102if (_incomingFrame.PingAck)
1120if (_incomingFrame.StreamId != 0)
1139if (_incomingFrame.PayloadLength != 4)
1146if (_incomingFrame.WindowUpdateSizeIncrement == 0)
1166if (_incomingFrame.StreamId == 0)
1168if (!_frameWriter.TryUpdateConnectionWindow(_incomingFrame.WindowUpdateSizeIncrement))
1173else if (_streams.TryGetValue(_incomingFrame.StreamId, out var stream))
1182throw new Http2StreamErrorException(_incomingFrame.StreamId, CoreStrings.Http2StreamAborted, Http2ErrorCode.STREAM_CLOSED);
1185if (!stream.TryUpdateOutputWindow(_incomingFrame.WindowUpdateSizeIncrement))
1187throw new Http2StreamErrorException(_incomingFrame.StreamId, CoreStrings.Http2ErrorWindowUpdateSizeInvalid, Http2ErrorCode.FLOW_CONTROL_ERROR);
1207if (_incomingFrame.StreamId != _currentHeadersStream.StreamId)
1214if (_incomingFrame.ContinuationEndHeaders)
1219return DecodeTrailersAsync(_incomingFrame.ContinuationEndHeaders, payload);
1225if (_incomingFrame.HeadersEndHeaders)
1230return DecodeHeadersAsync(_incomingFrame.ContinuationEndHeaders, payload);
1300_streams[_incomingFrame.StreamId] = _currentHeadersStream;
1415if (_incomingFrame.StreamId > _highestOpenedStreamId)
1417throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamIdle(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.PROTOCOL_ERROR, ConnectionEndReason.InvalidStreamId);
1473throw new Http2ConnectionErrorException(CoreStrings.FormatHttp2ErrorStreamClosed(_incomingFrame.Type, _incomingFrame.StreamId), Http2ErrorCode.STREAM_CLOSED, ConnectionEndReason.FrameAfterStreamClose);