Example #1
0
        public void AddPolicy <TResource>(string name, Action <LinksPolicyBuilder <TResource> > configurePolicy) //where TResource : class
        {
            if (configurePolicy == null)
            {
                throw new ArgumentNullException(nameof(configurePolicy));
            }

            var builder = new LinksPolicyBuilder <TResource>();

            configurePolicy(builder);

            AddPolicy <TResource>(name, builder.Build());
        }
        public void AddPolicy <TResource>(string name, Action <LinksPolicyBuilder <TResource> > configurePolicy) //where TResource : class
        {
            if (String.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Policy name cannot be null", nameof(name));
            }
            if (configurePolicy == null)
            {
                throw new ArgumentNullException(nameof(configurePolicy));
            }

            var builder = new LinksPolicyBuilder <TResource>();

            configurePolicy(builder);
            var policyName = $"{name}:{typeof(TResource).FullName}";

            PolicyMap[policyName] = builder.Build();
        }