private MultipartPartContent GetPart() { if (_reader.IsInPreamble || !(_currentPart?.ReadComplete ?? true)) { var result = _reader.ReadToNextPart(); if (result.Error) { return(new MultipartPartContent(result.ErrorMessage)); } } if (_reader.EndOfStream || _reader.IsInEpilogue) { return(null); } var headers = _reader.IsInHeaders ? _reader.ReadString() : null; _currentPart = new MultipartPartContent(_reader, headers?.Data, headers?.Error ?? false, headers?.ErrorMessage); return(_currentPart); }
public MultipartPartContent Peek() { if (_peeked != null) { return(_peeked); } return(_reader.EndOfStream ? null : _peeked = GetPart()); }
private MultipartPartContent PopPeeked() { if (_peeked == null) { return(null); } var peeked = _peeked; _peeked = null; return(peeked); }