internal static DeliveryRuleAction DeserializeDeliveryRuleAction(JsonElement element)
        {
            if (element.TryGetProperty("name", out JsonElement discriminator))
            {
                switch (discriminator.GetString())
                {
                case "CacheExpiration": return(DeliveryRuleCacheExpirationAction.DeserializeDeliveryRuleCacheExpirationAction(element));

                case "CacheKeyQueryString": return(DeliveryRuleCacheKeyQueryStringAction.DeserializeDeliveryRuleCacheKeyQueryStringAction(element));

                case "ModifyRequestHeader": return(DeliveryRuleRequestHeaderAction.DeserializeDeliveryRuleRequestHeaderAction(element));

                case "ModifyResponseHeader": return(DeliveryRuleResponseHeaderAction.DeserializeDeliveryRuleResponseHeaderAction(element));

                case "OriginGroupOverride": return(OriginGroupOverrideAction.DeserializeOriginGroupOverrideAction(element));

                case "UrlRedirect": return(UrlRedirectAction.DeserializeUrlRedirectAction(element));

                case "UrlRewrite": return(UrlRewriteAction.DeserializeUrlRewriteAction(element));

                case "UrlSigning": return(UrlSigningAction.DeserializeUrlSigningAction(element));
                }
            }
            DeliveryRuleActionType name = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("name"))
                {
                    name = new DeliveryRuleActionType(property.Value.GetString());
                    continue;
                }
            }
            return(new DeliveryRuleAction(name));
        }
Exemplo n.º 2
0
        internal static DeliveryRuleRouteConfigurationOverrideAction DeserializeDeliveryRuleRouteConfigurationOverrideAction(JsonElement element)
        {
            RouteConfigurationOverrideActionProperties parameters = default;
            DeliveryRuleActionType name = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("parameters"))
                {
                    parameters = RouteConfigurationOverrideActionProperties.DeserializeRouteConfigurationOverrideActionProperties(property.Value);
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = new DeliveryRuleActionType(property.Value.GetString());
                    continue;
                }
            }
            return(new DeliveryRuleRouteConfigurationOverrideAction(name, parameters));
        }
Exemplo n.º 3
0
        internal static DeliveryRuleCacheExpirationAction DeserializeDeliveryRuleCacheExpirationAction(JsonElement element)
        {
            CacheExpirationActionParameters parameters = default;
            DeliveryRuleActionType          name       = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("parameters"))
                {
                    parameters = CacheExpirationActionParameters.DeserializeCacheExpirationActionParameters(property.Value);
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = new DeliveryRuleActionType(property.Value.GetString());
                    continue;
                }
            }
            return(new DeliveryRuleCacheExpirationAction(name, parameters));
        }
        internal static OriginGroupOverrideAction DeserializeOriginGroupOverrideAction(JsonElement element)
        {
            OriginGroupOverrideActionDefinition parameters = default;
            DeliveryRuleActionType name = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("parameters"))
                {
                    parameters = OriginGroupOverrideActionDefinition.DeserializeOriginGroupOverrideActionDefinition(property.Value);
                    continue;
                }
                if (property.NameEquals("name"))
                {
                    name = new DeliveryRuleActionType(property.Value.GetString());
                    continue;
                }
            }
            return(new OriginGroupOverrideAction(name, parameters));
        }
Exemplo n.º 5
0
 internal DeliveryRuleCacheExpirationAction(DeliveryRuleActionType name, CacheExpirationActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }
 internal OriginGroupOverrideAction(DeliveryRuleActionType name, OriginGroupOverrideActionDefinition parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
Exemplo n.º 7
0
 internal DeliveryRuleCacheKeyQueryStringAction(DeliveryRuleActionType name, CacheKeyQueryStringActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }
 internal UriRedirectAction(DeliveryRuleActionType name, UriRedirectActionDefinition parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
 internal DeliveryRuleResponseHeaderAction(DeliveryRuleActionType name, HeaderActionDefinition parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
 internal UrlRewriteAction(DeliveryRuleActionType name, UrlRewriteActionParameters parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
Exemplo n.º 11
0
 internal OriginGroupOverrideAction(DeliveryRuleActionType name, OriginGroupOverrideActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }
Exemplo n.º 12
0
 internal DeliveryRuleRouteConfigurationOverrideAction(DeliveryRuleActionType name, RouteConfigurationOverrideActionParameters parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
Exemplo n.º 13
0
 internal UriRedirectAction(DeliveryRuleActionType name, UriRedirectActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }
Exemplo n.º 14
0
 internal DeliveryRuleRequestHeaderAction(DeliveryRuleActionType name, HeaderActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }
 internal DeliveryRuleCacheKeyQueryStringAction(DeliveryRuleActionType name, CacheKeyQueryStringActionParameters parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
 internal DeliveryRuleCacheExpirationAction(DeliveryRuleActionType name, CacheExpirationActionParameters parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
Exemplo n.º 17
0
 internal DeliveryRuleRequestHeaderAction(DeliveryRuleActionType name, HeaderActionParameters parameters) : base(name)
 {
     Parameters = parameters;
     Name       = name;
 }
Exemplo n.º 18
0
 internal DeliveryRuleRouteConfigurationOverrideAction(DeliveryRuleActionType name, RouteConfigurationOverrideActionProperties properties) : base(name)
 {
     Properties = properties;
     Name       = name;
 }