-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[rb] implement client config class #16486
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
base: trunk
Are you sure you want to change the base?
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
PR Code Suggestions ✨Explore these optional code suggestions:
|
User description
🔗 Related Issues
Addresses Ruby portion of #16269
💥 What does this PR do?
🔧 Implementation Notes
Went with a
Data
instance based on its goal of immutability. I overrode the constructor so that it only allows keywords and they are all optionalPORO seemed overkill and Struct is too loose
💡 Additional Considerations
🔄 Types of changes
PR Type
Enhancement
Description
Introduces
ClientConfig
immutable data class for HTTP client customizationAllows passing
client_config
to driver constructors and bridge initializationImplements validation to prevent conflicting
http_client
andclient_config
parametersRefactors bridge initialization with URL normalization and server URL handling
Adds comprehensive test coverage for new client config functionality
Diagram Walkthrough
File Walkthrough
4 files
Create immutable ClientConfig data class
Update create_bridge to accept client_config
Refactor initialization with client_config support
Add server_url? predicate method
1 files
Add ClientConfig require statement
1 files
Add comprehensive bridge initialization tests
5 files
Add type signature for ClientConfig class
Update driver type signatures for client_config
Update bridge type signatures with new methods
Update HTTP common type signatures
Improve type annotations for HTTP default