Refactor client capabilities into its own class #2805
Merged
+76
−37
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
As pointed out by @andyw8, our implementation of the global state was growing a little too much and so was the body of
apply_options
. This PR extracts a new object to store client capabilities, so that we can organize concerns a bit better.Implementation
Extracted the client capabilities into an object and adapted the code that was using them for the new structure.
Automated Tests
Updated existing tests.