Skip to content

Add tracking of RequestBody/ResponseTransfromer implementations used in UserAgent #6171

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Jun 16, 2025

Conversation

alextwoods
Copy link
Contributor

@alextwoods alextwoods commented Jun 11, 2025

Add tracking of RequestBody/ResponseTransfromer implementations used in UserAgent

Motivation and Context

There are many different implementations of RequestBodies and ResponseTransfromers that provide a range of SDK functionality for streaming input/output operations. Tracking usage of these implementations allows the SDK team to prioritize development of features and understand the impact of changes or bugs.

Modifications

  • Add UserAgent Metadata to execution context and apply it in the UserAgentStage.
  • Adds interface methods for providing implementation names for RequestBody,AsyncRequestBody,ResponseTransformer and AsyncResponseTransformer
  • Adds values of those methods to SDK provided implementations.

Testing

New and existing tests.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the CONTRIBUTING document
  • Local run of mvn install succeeds
  • My code follows the code style of this project
  • My change requires a change to the Javadoc documentation
  • I have updated the Javadoc documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed
  • I have added a changelog entry. Adding a new entry must be accomplished by running the scripts/new-change script and following the instructions. Commit the new file created by the script in .changes/next-release with your changes.

License

  • I confirm that this pull request can be released under the Apache 2 license

@alextwoods alextwoods added the api-surface-area-approved-by-team Indicate API surface area introduced by this PR has been approved by team label Jun 11, 2025
@alextwoods alextwoods marked this pull request as ready for review June 12, 2025 21:58
@alextwoods alextwoods requested a review from a team as a code owner June 12, 2025 21:58
@alextwoods alextwoods enabled auto-merge June 16, 2025 15:16
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
4.1% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@alextwoods alextwoods added this pull request to the merge queue Jun 16, 2025
Merged via the queue into master with commit e62e29d Jun 16, 2025
27 of 28 checks passed
Copy link

This pull request has been closed and the conversation has been locked. Comments on closed PRs are hard for our team to see. If you need more assistance, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 16, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api-surface-area-approved-by-team Indicate API surface area introduced by this PR has been approved by team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants