private static void ParseMultipleRawHeaderValues(
     HeaderDescriptor descriptor,
     HttpHeaders.HeaderStoreItemInfo info,
     List <string> rawValues)
 {
     if (descriptor.Parser == null)
     {
         foreach (string rawValue in rawValues)
         {
             if (!HttpHeaders.ContainsInvalidNewLine(rawValue, descriptor.Name))
             {
                 HttpHeaders.AddValue(info, (object)rawValue, HttpHeaders.StoreLocation.Parsed);
             }
         }
     }
     else
     {
         foreach (string rawValue in rawValues)
         {
             if (!HttpHeaders.TryParseAndAddRawHeaderValue(descriptor, info, rawValue, true) && NetEventSource.IsEnabled)
             {
                 NetEventSource.Log.HeadersInvalidValue(descriptor.Name, rawValue);
             }
         }
     }
 }
        internal bool TryParseAndAddValue(HeaderDescriptor descriptor, string value)
        {
            HttpHeaders.HeaderStoreItemInfo info;
            bool addToStore;

            this.PrepareHeaderInfoForAdd(descriptor, out info, out addToStore);
            bool addRawHeaderValue = HttpHeaders.TryParseAndAddRawHeaderValue(descriptor, info, value, false);

            if (addRawHeaderValue & addToStore && info.ParsedValue != null)
            {
                this.AddHeaderToStore(descriptor, info);
            }
            return(addRawHeaderValue);
        }
        private static void ParseSingleRawHeaderValue(
            HeaderDescriptor descriptor,
            HttpHeaders.HeaderStoreItemInfo info)
        {
            string rawValue = info.RawValue as string;

            if (descriptor.Parser == null)
            {
                if (HttpHeaders.ContainsInvalidNewLine(rawValue, descriptor.Name))
                {
                    return;
                }
                HttpHeaders.AddValue(info, (object)rawValue, HttpHeaders.StoreLocation.Parsed);
            }
            else
            {
                if (HttpHeaders.TryParseAndAddRawHeaderValue(descriptor, info, rawValue, true) || !NetEventSource.IsEnabled)
                {
                    return;
                }
                NetEventSource.Log.HeadersInvalidValue(descriptor.Name, rawValue);
            }
        }