示例#1
0
        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);
        }
示例#2
0
 internal Enumerator(Utf8String originalHeaderString)
 {
     _originalHeaderString = originalHeaderString;
     _headerString         = _originalHeaderString;
     _current = new Utf8StringPair();
 }