void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName("typeName"); writer.WriteStringValue(TypeDefinition.ToString()); writer.WritePropertyName("redirectType"); writer.WriteStringValue(RedirectType.ToString()); if (Optional.IsDefined(DestinationProtocol)) { writer.WritePropertyName("destinationProtocol"); writer.WriteStringValue(DestinationProtocol.Value.ToString()); } if (Optional.IsDefined(CustomPath)) { writer.WritePropertyName("customPath"); writer.WriteStringValue(CustomPath); } if (Optional.IsDefined(CustomHostname)) { writer.WritePropertyName("customHostname"); writer.WriteStringValue(CustomHostname); } if (Optional.IsDefined(CustomQueryString)) { writer.WritePropertyName("customQueryString"); writer.WriteStringValue(CustomQueryString); } if (Optional.IsDefined(CustomFragment)) { writer.WritePropertyName("customFragment"); writer.WriteStringValue(CustomFragment); } writer.WriteEndObject(); }
internal static UriRedirectActionDefinition DeserializeUriRedirectActionDefinition(JsonElement element) { UriRedirectActionType typeName = default; RedirectType redirectType = default; Optional <DestinationProtocol> destinationProtocol = default; Optional <string> customPath = default; Optional <string> customHostname = default; Optional <string> customQueryString = default; Optional <string> customFragment = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("typeName")) { typeName = new UriRedirectActionType(property.Value.GetString()); continue; } if (property.NameEquals("redirectType")) { redirectType = new RedirectType(property.Value.GetString()); continue; } if (property.NameEquals("destinationProtocol")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } destinationProtocol = new DestinationProtocol(property.Value.GetString()); continue; } if (property.NameEquals("customPath")) { customPath = property.Value.GetString(); continue; } if (property.NameEquals("customHostname")) { customHostname = property.Value.GetString(); continue; } if (property.NameEquals("customQueryString")) { customQueryString = property.Value.GetString(); continue; } if (property.NameEquals("customFragment")) { customFragment = property.Value.GetString(); continue; } } return(new UriRedirectActionDefinition(typeName, redirectType, Optional.ToNullable(destinationProtocol), customPath.Value, customHostname.Value, customQueryString.Value, customFragment.Value)); }