internal static List <KeyValuePair <string, IEnumerable <byte> > > GetHeaderFields(out int?endOffset, byte[] buffer, int offset, int length) { endOffset = null; var headerFields = new List <KeyValuePair <string, IEnumerable <byte> > >(); HttpParser parser = new HttpParser(buffer, offset, length); while (parser.Success) { if (parser.IsCarriageReturnLineFeed()) { endOffset = parser.Offset + 2; break; } string fieldName; IEnumerable <byte> fieldValue; parser.Token(out fieldName).Colon().FieldValue(out fieldValue).CarriageReturnLineFeed(); if (parser.Success) { headerFields.Add(new KeyValuePair <string, IEnumerable <byte> >(fieldName, fieldValue)); } } return(headerFields); }
internal static List <KeyValuePair <string, IEnumerable <byte> > > GetHeaderFields(out int?endOffset, byte[] buffer, int offset, int length) { endOffset = new int?(); List <KeyValuePair <string, IEnumerable <byte> > > list = new List <KeyValuePair <string, IEnumerable <byte> > >(); HttpParser httpParser = new HttpParser(buffer, offset, length); while (httpParser.Success) { if (httpParser.IsCarriageReturnLineFeed()) { endOffset = new int?(httpParser.Offset + 2); break; } string token; IEnumerable <byte> fieldValue; httpParser.Token(out token).Colon().FieldValue(out fieldValue).CarriageReturnLineFeed(); if (httpParser.Success) { list.Add(new KeyValuePair <string, IEnumerable <byte> >(token, fieldValue)); } } return(list); }
internal static List<KeyValuePair<string, IEnumerable<byte>>> GetHeaderFields(out int? endOffset, byte[] buffer, int offset, int length) { endOffset = null; var headerFields = new List<KeyValuePair<string, IEnumerable<byte>>>(); HttpParser parser = new HttpParser(buffer, offset, length); while (parser.Success) { if (parser.IsCarriageReturnLineFeed()) { endOffset = parser.Offset + 2; break; } string fieldName; IEnumerable<byte> fieldValue; parser.Token(out fieldName).Colon().FieldValue(out fieldValue).CarriageReturnLineFeed(); if (parser.Success) headerFields.Add(new KeyValuePair<string, IEnumerable<byte>>(fieldName, fieldValue)); } return headerFields; }