private static Utf8String ParseHeaderLine(Utf8String headerString, out Utf8StringPair header) { Utf8String headerName; Utf8String headerValue; //TODO: this will be simplified once we have TrySubstringTo/From accepting strings if (!headerString.TrySubstringTo((byte)':', out headerName)) { throw new ArgumentException("headerString"); } headerString.TrySubstringFrom((byte)':', out headerString); if (headerString.Length > 0) { headerString = headerString.Substring(1); } if (!headerString.TrySubstringTo((byte)'\r', out headerValue)) { throw new ArgumentException("headerString"); } headerString.TrySubstringFrom((byte)'\n', out headerString); if (headerString.Length > 0) { headerString = headerString.Substring(1); } header = new Utf8StringPair(headerName, headerValue); return(headerString); }
internal Enumerator(Utf8String originalHeaderString) { _originalHeaderString = originalHeaderString; _headerString = _originalHeaderString; _current = new Utf8StringPair(); }