/// <summary> /// Reset decoder state so that we can decode a new message /// </summary> public void Clear() { _message = null; _isHeaderParsed = false; _headerParser.Reset(); _frameContentBytesLeft = 0; }
void ResetNow() { IHttpMessage msg = _message; _message = null; _name = null; _value = null; _contentLength = long.MinValue; _lineParser.Reset(); _headerParser.Reset(); _trailer = null; if (!IsDecodingRequest()) { if (msg is IHttpResponse res && IsSwitchingToNonHttp1Protocol(res)) { _currentState = State.Upgraded; return; } } _ = Interlocked.Exchange(ref _resetRequested, SharedConstants.False); _currentState = State.SkipControlChars; }