コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }