Add ConfigurationUpdater to the BaseClientHandler class #4516
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.
Motivation and Context
Request time plugin execution
Similar to client build time plugins the request time plugins will need to be able to convert from the internal configuration (
SdkClientConfiguration
) to the external configuration (SdkServiceClientConfiguration
) class which is the type that the plugins consume. Currently the builder knows how to do that using theConfigurationUpdater
class, we now need to pass it down this to the client.The client itself does not need it, but rather it's pass down to the client handler down to it's the base class,
BaseClientHandler
, the one that actually needs it. All the paths to the base class need to be augmented with this new classAwsSyncClientHandler
andSdkSyncClientHandler
AwsAsyncClientHandler
andSdkAsyncClientHandler
(and base classes in between)
This change implements the changes needed to pass down the
ConfigurationUpdater
, from client build to theBaseClientHandler
. The upcoming change will use this to invoke the plugins.Modifications
Testing
Screenshots (if appropriate)
Types of changes
Checklist
mvn install
succeedsscripts/new-change
script and following the instructions. Commit the new file created by the script in.changes/next-release
with your changes.License