/// <summary>
        /// The WAF examines HTTP requests to your website.
        /// </summary>
        /// <seealso href="https://api.cloudflare.com/#zone-settings-get-web-application-firewall-waf-setting"/>
        public static Task <ZoneSetting <SettingOnOffTypes> > GetWebApplicationFirewallSettingAsync(
            this IZoneSettingsClient client,
            IdentifierTag zoneId,
            CloudFlareAuth auth = null)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (zoneId == null)
            {
                throw new ArgumentNullException(nameof(zoneId));
            }

            return(client.GetWebApplicationFirewallSettingAsync(zoneId, CancellationToken.None, auth));
        }
        /// <summary>
        /// Browser Cache TTL (in seconds) specifies how long CloudFlare-cached resources will remain on your visitors'
        /// computers.
        /// </summary>
        /// <seealso href="https://api.cloudflare.com/#zone-settings-get-browser-cache-ttl-setting"/>
        public static Task <ZoneSetting <int> > GetBrowserCacheTtlSettingAsync(
            this IZoneSettingsClient client,
            IdentifierTag zoneId,
            CloudFlareAuth auth = null)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (zoneId == null)
            {
                throw new ArgumentNullException(nameof(zoneId));
            }

            return(client.GetBrowserCacheTtlSettingAsync(zoneId, CancellationToken.None, auth));
        }
        /// <summary>
        /// Gets the zone settings for the zone with the specified <paramref name="zoneId"/>.
        /// </summary>
        /// <seealso href="https://api.cloudflare.com/#zone-settings-get-all-zone-settings"/>
        public static Task <IEnumerable <ZoneSettingBase> > GetAllZoneSettingsAsync(
            this IZoneSettingsClient client,
            IdentifierTag zoneId,
            CloudFlareAuth auth = null)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }
            if (zoneId == null)
            {
                throw new ArgumentNullException(nameof(zoneId));
            }

            return(client.GetAllZoneSettingsAsync(zoneId, CancellationToken.None, auth));
        }