public void Add(string header) { if (string.IsNullOrEmpty(header)) { throw new ArgumentNullException(nameof(header)); } int colpos = header.IndexOf(':'); // check for badly formed header passed in if (colpos < 0) { throw new ArgumentException(SR.net_WebHeaderMissingColon, nameof(header)); } string name = header.Substring(0, colpos); string value = header.Substring(colpos + 1); name = HttpValidationHelpers.CheckBadHeaderNameChars(name); ThrowOnRestrictedHeader(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); if (NetEventSource.IsEnabled) { NetEventSource.Info(this, $"Add({header}) calling InnerCollection.Add() key:[{name}], value:[{value}]"); } if (_type == WebHeaderCollectionType.WebResponse) { if (value != null && value.Length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(nameof(value), value, string.Format(CultureInfo.InvariantCulture, SR.net_headers_toolong, ushort.MaxValue)); } } InvalidateCachedArrays(); InnerCollection.Add(name, value); }
public override void Add(string name, string value) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (name.Length == 0) { throw new ArgumentException(SR.Format(SR.net_emptyStringCall, nameof(name)), nameof(name)); } name = HttpValidationHelpers.CheckBadHeaderNameChars(name); ThrowOnRestrictedHeader(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); if (NetEventSource.IsEnabled) { NetEventSource.Info(this, $"calling InnerCollection.Add() key:[{name}], value:[{value}]"); } if (_type == WebHeaderCollectionType.WebResponse) { if (value != null && value.Length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(nameof(value), value, string.Format(CultureInfo.InvariantCulture, SR.net_headers_toolong, ushort.MaxValue)); } } InvalidateCachedArrays(); InnerCollection.Add(name, value); }
#pragma warning disable CS8765 // Nullability of parameter 'name' doesn't match overridden member public override void Set(string name, string?value) #pragma warning restore CS8765 { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } name = HttpValidationHelpers.CheckBadHeaderNameChars(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); InvalidateCachedArrays(); InnerCollection.Set(name, value); }
protected void AddWithoutValidate(string name, string value) { name = HttpValidationHelpers.CheckBadHeaderNameChars(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); if (NetEventSource.IsEnabled) NetEventSource.Info(this, $"calling InnerCollection.Add() key:[{name}], value:[{value}]"); if (_type == WebHeaderCollectionType.WebResponse) { if (value != null && value.Length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(nameof(value), value, string.Format(CultureInfo.InvariantCulture, SR.net_headers_toolong, ushort.MaxValue)); } } InvalidateCachedArrays(); InnerCollection.Add(name, value); }
public override void Add(string name, string value) { name = HttpValidationHelpers.CheckBadHeaderNameChars(name); ThrowOnRestrictedHeader(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); if (GlobalLog.IsEnabled) { GlobalLog.Print("WebHeaderCollection::Add() calling InnerCollection.Add() key:[" + name + "], value:[" + value + "]"); } if (_type == WebHeaderCollectionType.WebResponse) { if (value != null && value.Length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(nameof(value), value, string.Format(CultureInfo.InvariantCulture, SR.net_headers_toolong, ushort.MaxValue)); } } InvalidateCachedArrays(); InnerCollection.Add(name, value); }
#pragma warning disable CS8765 // Nullability of parameter 'name' doesn't match overridden member public override void Set(string name, string?value) #pragma warning restore CS8765 { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } name = HttpValidationHelpers.CheckBadHeaderNameChars(name); ThrowOnRestrictedHeader(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); if (_type == WebHeaderCollectionType.WebResponse) { if (value != null && value.Length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(nameof(value), value, SR.Format(CultureInfo.InvariantCulture, SR.net_headers_toolong, ushort.MaxValue)); } } InvalidateCachedArrays(); InnerCollection.Set(name, value); }
public string this[string name] { get { string entry = null; _entriesDictionary?.TryGetValue(name, out entry); return(entry); } set { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } name = HttpValidationHelpers.CheckBadHeaderNameChars(name); value = HttpValidationHelpers.CheckBadHeaderValueChars(value); InvalidateCachedArray(); EnsureInitialized(); if (!_entriesDictionary.ContainsKey(name)) { Debug.Assert(_entriesList.FindIndex(s => StringComparer.OrdinalIgnoreCase.Equals(s, name)) == -1, $"'{name}' must not be in {nameof(_entriesList)}."); // Only add the name to the list if it isn't already in the dictionary. _entriesList.Add(name); } _entriesDictionary[name] = value; Debug.Assert(_entriesList.FindIndex(s => StringComparer.OrdinalIgnoreCase.Equals(s, name)) != -1, $"'{name}' must be in {nameof(_entriesList)}."); Debug.Assert(_entriesDictionary.Count == _entriesList.Count, "Counts must be equal."); } }