Add support for relative next link in Pagers#867
Merged
antkmsft merged 3 commits intoAzure:mainfrom Feb 24, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
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
nextLinkvalues 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
packages/typespec-rust/test/spector/azure/core/page/tests/page_client_test.rs
Show resolved
Hide resolved
heaths
requested changes
Feb 21, 2026
Member
|
Looks like the Spector update added some new APIs in existing tests. Will those new tests be added in this PR? |
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. |
jhendrixMSFT
approved these changes
Feb 23, 2026
heaths
requested changes
Feb 23, 2026
heaths
approved these changes
Feb 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.