internal bool TryGetValues(HeaderDescriptor descriptor, out IEnumerable <string> values)
 {
     if (this._headerStore == null)
     {
         values = (IEnumerable <string>)null;
         return(false);
     }
     HttpHeaders.HeaderStoreItemInfo info = (HttpHeaders.HeaderStoreItemInfo)null;
     if (this.TryGetAndParseHeaderInfo(descriptor, out info))
     {
         values = (IEnumerable <string>)HttpHeaders.GetValuesAsStrings(descriptor, info, (object)null);
         return(true);
     }
     values = (IEnumerable <string>)null;
     return(false);
 }
 private IEnumerable <KeyValuePair <HeaderDescriptor, string[]> > GetHeaderDescriptorsAndValuesCore()
 {
     foreach (KeyValuePair <HeaderDescriptor, HttpHeaders.HeaderStoreItemInfo> keyValuePair in this._headerStore)
     {
         HeaderDescriptor key = keyValuePair.Key;
         HttpHeaders.HeaderStoreItemInfo info = keyValuePair.Value;
         if (!this.ParseRawHeaderValues(key, info, false))
         {
             this._headerStore.Remove(key);
         }
         else
         {
             string[] valuesAsStrings = HttpHeaders.GetValuesAsStrings(key, info, (object)null);
             yield return(new KeyValuePair <HeaderDescriptor, string[]>(key, valuesAsStrings));
         }
     }
 }
        private string GetHeaderString(
            HeaderDescriptor descriptor,
            HttpHeaders.HeaderStoreItemInfo info,
            object exclude = null)
        {
            string[] valuesAsStrings = HttpHeaders.GetValuesAsStrings(descriptor, info, exclude);
            string   str;

            if (valuesAsStrings.Length == 1)
            {
                str = valuesAsStrings[0];
            }
            else
            {
                string separator = ", ";
                if (descriptor.Parser != null && descriptor.Parser.SupportsMultipleValues)
                {
                    separator = descriptor.Parser.Separator;
                }
                str = string.Join(separator, valuesAsStrings);
            }
            return(str);
        }