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); }