Skip to content

Add support for relative next link in Pagers#867

Merged
antkmsft merged 3 commits intoAzure:mainfrom
antkmsft:relative-nextlink
Feb 24, 2026
Merged

Add support for relative next link in Pagers#867
antkmsft merged 3 commits intoAzure:mainfrom
antkmsft:relative-nextlink

Conversation

@antkmsft
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings February 20, 2026 23:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for relative nextLink values in generated Rust pagers, updating the code generator and regenerating affected test/sdk fixtures to validate the new behavior.

Changes:

  • Update pager codegen to attempt resolving nextLink values that aren’t parseable as absolute URLs.
  • Regenerate multiple generated clients to use the new continuation-link logic.
  • Add/refresh generated test fixtures (XML models/enums) and add a new paging test; bump TypeSpec-related dev dependencies.

Reviewed changes

Copilot reviewed 3 out of 39 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/typespec-rust/src/codegen/clients.ts Updates pageable method generation to handle relative nextLink continuation links.
packages/typespec-rust/test/spector/azure/core/page/tests/page_client_test.rs Adds a test intended to validate relative nextLink paging behavior.
packages/typespec-rust/test/spector/azure/core/page/src/generated/clients/page_client.rs Regenerated pager method(s) using the new continuation-link resolution logic and adds a new paging method.
packages/typespec-rust/test/spector/azure/core/page/src/generated/clients/page_two_models_as_page_item_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/core/page/src/generated/models/method_options.rs Adds options type for the new paging method and regenerates options plumbing.
packages/typespec-rust/test/spector/payload/pageable/src/generated/clients/pageable_xml_pagination_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/payload/pageable/src/generated/clients/pageable_server_driven_pagination_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/payload/pageable/src/generated/clients/pageable_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/core/basic/src/generated/clients/basic_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/client-generator-core/next-link-verb/src/generated/clients/next_link_verb_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/sdk/keyvault_secrets/src/generated/clients/secret_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/sdk/appconfiguration/src/generated/clients/azure_app_configuration_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/other/pub_crate/src/generated/clients/misc_tests_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/other/colliding_locals/src/generated/clients/colliding_locals_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/resources/src/generated/clients/resources_top_level_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/resources/src/generated/clients/resources_singleton_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/resources/src/generated/clients/resources_nested_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/resources/src/generated/clients/resources_location_resources_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/resources/src/generated/clients/resources_extensions_resources_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/operation-templates/src/generated/clients/operation_templates_operations_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/resource-manager/method-subscription-id/src/generated/clients/method_subscription_id_operations_client.rs Regenerated to use new continuation-link resolution logic.
packages/typespec-rust/test/spector/azure/client-generator-core/flatten-property/src/generated/models/models.rs Adds/regenerates models for flatten-unknown/read-only scenarios.
packages/typespec-rust/test/spector/azure/client-generator-core/flatten-property/src/generated/models/models_impl.rs Adds/regenerates TryFrom<T> for RequestContent<T> impls for new models.
packages/typespec-rust/test/spector/azure/client-generator-core/flatten-property/src/generated/models/method_options.rs Adds new method options structs for new/updated flatten-property operations.
packages/typespec-rust/test/spector/azure/client-generator-core/flatten-property/src/generated/clients/flatten_property_client.rs Adds new operations for the new flatten-property test models.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/models.rs Adds/regenerates XML models to include datetime and enum scenarios.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/models_impl.rs Adds TryFrom conversions for new XML models.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/mod.rs Wires new XML enums/serde modules into the generated models module.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/method_options.rs Adds options for new XML clients.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/models_serde.rs Adds custom serde helpers for XML datetime encoding.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/enums.rs Adds generated Status enum for XML enum model.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/enums_impl.rs Adds parsing/display helpers for generated XML enum.
packages/typespec-rust/test/spector/payload/xml/src/generated/models/enums_serde.rs Adds serde impls for generated XML enum.
packages/typespec-rust/test/spector/payload/xml/src/generated/clients/xml_client.rs Adds new XML subclients for new models.
packages/typespec-rust/test/spector/payload/xml/src/generated/clients/mod.rs Registers new XML client modules/exports.
packages/typespec-rust/test/spector/payload/xml/src/generated/clients/xml_model_with_datetime_value_client.rs Adds a new generated XML client for datetime model.
packages/typespec-rust/test/spector/payload/xml/src/generated/clients/xml_model_with_enum_value_client.rs Adds a new generated XML client for enum model.
packages/typespec-rust/package.json Bumps TypeSpec-related dev + peer dependency versions used by the generator/tests.
packages/typespec-rust/pnpm-lock.yaml Lockfile update corresponding to dependency bumps.
Files not reviewed (1)
  • packages/typespec-rust/pnpm-lock.yaml: Language not supported

@antkmsft antkmsft requested a review from heaths February 21, 2026 04:18
@jhendrixMSFT
Copy link
Member

Looks like the Spector update added some new APIs in existing tests. Will those new tests be added in this PR?

@antkmsft
Copy link
Member Author

@jhendrixMSFT, the recent update did bring about 5-10 new tests. This PR intents to only add one of them. The rest will be in next PRs. This PR is only for the relative nextLink.

@antkmsft antkmsft requested a review from heaths February 23, 2026 20:56
@antkmsft antkmsft merged commit 84ddd38 into Azure:main Feb 24, 2026
5 checks passed
@antkmsft antkmsft deleted the relative-nextlink branch February 24, 2026 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants