[App Configuration] - Head request support#54669
Merged
linglingye001 merged 12 commits intomainfrom Jan 26, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds HEAD request support to the Azure App Configuration client, enabling efficient change detection for configuration settings without retrieving full response bodies. The new methods CheckConfigurationSettingsAsync and CheckConfigurationSettings use HTTP HEAD requests to check if settings have changed by examining response status codes and headers (like ETags) while minimizing bandwidth usage.
Key Changes:
- Added
CheckConfigurationSettingsAsyncandCheckConfigurationSettingspublic methods that return pageable collections with empty Values but populated response headers - Implemented
ParseCheckConfigurationSettingsResponseto extract pagination tokens from Link headers without parsing response bodies - Added comprehensive test coverage for both modified and unmodified scenarios, including validation that 304 responses don't trigger warnings
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs | Adds new public Check methods and supporting infrastructure including CheckConfigurationSettingsPageableImplementation helper and ParseCheckConfigurationSettingsResponse parser |
| sdk/appconfiguration/Azure.Data.AppConfiguration/tests/ConfigurationLiveTests.cs | Adds 6 test methods covering async/sync variants for unmodified pages, modified pages, and warning log validation scenarios |
| sdk/appconfiguration/Azure.Data.AppConfiguration/assets.json | Updates test assets tag to reflect new test recordings |
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/tests/ConfigurationLiveTests.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/tests/ConfigurationLiveTests.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Show resolved
Hide resolved
API Change CheckAPIView identified API level changes in this PR and created the following API reviews |
1bb162e to
823b201
Compare
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
7e8bb80 to
75be925
Compare
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
Member
|
LGTM |
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Show resolved
Hide resolved
sdk/appconfiguration/Azure.Data.AppConfiguration/src/ConfigurationClient.cs
Outdated
Show resolved
Hide resolved
zhiyuanliang-ms
approved these changes
Jan 26, 2026
This was referenced Jan 30, 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.
Added new public methods to
ConfigurationClientpublic virtual AsyncPageable<ConfigurationSetting> CheckConfigurationSettingsAsync(SettingSelector, CancellationToken)public virtual Pageable<ConfigurationSetting> CheckConfigurationSettings(SettingSelector, CancellationToken)that send HTTP HEAD requests to check for configuration setting changes without retrieving the full response body. This feature enables efficient watching scenarios by reducing bandwidth usage while still allowing clients to detect changes via response headers.