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)); }
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)); }
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)); }
internal DeliveryRuleCacheExpirationAction(DeliveryRuleActionType name, CacheExpirationActionProperties properties) : base(name) { Properties = properties; Name = name; }
internal OriginGroupOverrideAction(DeliveryRuleActionType name, OriginGroupOverrideActionDefinition parameters) : base(name) { Parameters = parameters; Name = name; }
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; }
internal OriginGroupOverrideAction(DeliveryRuleActionType name, OriginGroupOverrideActionProperties properties) : base(name) { Properties = properties; Name = name; }
internal DeliveryRuleRouteConfigurationOverrideAction(DeliveryRuleActionType name, RouteConfigurationOverrideActionParameters parameters) : base(name) { Parameters = parameters; Name = name; }
internal UriRedirectAction(DeliveryRuleActionType name, UriRedirectActionProperties properties) : base(name) { Properties = properties; Name = name; }
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; }
internal DeliveryRuleRequestHeaderAction(DeliveryRuleActionType name, HeaderActionParameters parameters) : base(name) { Parameters = parameters; Name = name; }
internal DeliveryRuleRouteConfigurationOverrideAction(DeliveryRuleActionType name, RouteConfigurationOverrideActionProperties properties) : base(name) { Properties = properties; Name = name; }