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); }
// Remove - // Routine Description: // Removes give header with validation to see if they are "proper" headers. // If the header is a special header, listed in RestrictedHeaders object, // then this call will cause an exception indicating as such. // Arguments: // name - header-name to remove // Return Value: // None /// <devdoc> /// <para>Removes the specified header.</para> /// </devdoc> public override void Remove(string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException(nameof(name)); } ThrowOnRestrictedHeader(name); name = HttpValidationHelpers.CheckBadHeaderNameChars(name); if (NetEventSource.IsEnabled) NetEventSource.Info(this, $"calling InnerCollection.Remove() key:[{name}]"); if (_innerCollection != null) { InvalidateCachedArrays(); _innerCollection.Remove(name); } }
#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); }