Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
The HTTP client API needs to use a generic options hash instead of keyword arguments for two reasons:
1. The API currently uses keyword arguments, but we need to add a puppetserver implementation. If we add a new argument to puppet's implementation, then it will break puppetserver, unless it collects "extra" options using **options. But then we'll end up with some arguments expressed as keyword arguments and some "leftovers".
2. Callers of the API sometimes pass options that the client implementation doesn't know about, such as compress. The API needs a way to pass options which may only be understood by one implementation. Each implementation should parse and validate options it recognizes and pass through options it doesn't.