AfdRoute IOperationSource <AfdRoute> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = AfdRouteData.DeserializeAfdRouteData(document.RootElement); return(new AfdRoute(_operationBase, data)); }
internal static RouteListResult DeserializeRouteListResult(JsonElement element) { Optional <IReadOnlyList <AfdRouteData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <AfdRouteData> array = new List <AfdRouteData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(AfdRouteData.DeserializeAfdRouteData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new RouteListResult(Optional.ToList(value), nextLink.Value)); }
protected async Task <AfdRoute> CreateAfdRoute(AfdEndpoint endpoint, string routeName, AfdOriginGroup originGroup, AfdRuleSet ruleSet) { AfdRouteData input = ResourceDataHelper.CreateAfdRouteData(originGroup); input.RuleSets.Add(new WritableSubResource { Id = ruleSet.Id }); input.PatternsToMatch.Add("/*"); var lro = await endpoint.GetAfdRoutes().CreateOrUpdateAsync(true, routeName, input); return(lro.Value); }