private bool TryGetHeaderDescriptor(string name, out HeaderDescriptor descriptor) { if (string.IsNullOrEmpty(name)) { descriptor = new HeaderDescriptor(); return(false); } if (!HeaderDescriptor.TryGet(name, out descriptor)) { return(false); } if ((descriptor.HeaderType & this._allowedHeaderTypes) != HttpHeaderType.None) { return(true); } if ((descriptor.HeaderType & this._treatAsCustomHeaderTypes) == HttpHeaderType.None) { return(false); } descriptor = descriptor.AsCustomHeader(); return(true); }
private HeaderDescriptor GetHeaderDescriptor(string name) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException(SR.net_http_argument_empty_string, nameof(name)); } HeaderDescriptor descriptor; if (!HeaderDescriptor.TryGet(name, out descriptor)) { throw new FormatException(SR.net_http_headers_invalid_header_name); } if ((descriptor.HeaderType & this._allowedHeaderTypes) != HttpHeaderType.None) { return(descriptor); } if ((descriptor.HeaderType & this._treatAsCustomHeaderTypes) != HttpHeaderType.None) { return(descriptor.AsCustomHeader()); } throw new InvalidOperationException(SR.net_http_headers_not_allowed_header_name); }