Repository navigation
Support per-request query/timeout/options and default_options; update README and add specs - #3
Merged
Conversation
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.
Motivation
options:, and explicit arguments.Description
default_optionsclass setter and extendedget,post,put, anddeletesignatures to acceptquery:,timeout:, andoptions:(andbody:fordelete).requestto accept the new keywords and introducedbuild_request_optionsto merge@default_options, per-requestoptions, and explicit arguments with the intended precedence and without mutating input hashes.build_headerslogic and header merging so headers from defaults, genericoptions[:headers], and explicitheaders:are merged with explicit request headers taking precedence.README.mdwith usage examples forquery:,timeout:,options:,default_options, and the modified method signatures.spec/service_client_options_spec.rbwith RSpec tests that validate option merging, header merging, immutability of option hashes, omission of unset optional values, body/query passthrough, andParamsRequiredbehavior.Testing
spec/service_client_options_spec.rbthat exercises merging precedence, header merging, immutability, omission of unset values, and parameter passthrough.HTTPartyis called with the expected merged option hashes in the tests.Codex Task