* Use system ssl context to make HTTP requests * If there is a forge authorization header, it must be sent via {{Authorization: <token>}} * Otherwise, if the {{Puppet[:module_repository]}} includes a username and password, eg. {{https://foo:b...@myforge.com}}, then the user and password should be passed to the {{Client#get(url, headers, user: 'foo', password: 'bar')}} method as keyword arguments. * Supports compressed downloads. We should get this for free, but when using {{--http_debug}} make sure the {{Accept-Encoding}} header contains something like {{gzip;q=1.0,deflate;q=0.6,identity;q=0.3}} * Continues to send {{User-Agent: PMT/1.1.1 (v3; Net::HTTP) Puppet/6.12.0 Ruby/2.5.7-p... etc}} header * Continues to raise CommunicationsError and SSLVerifyErrors if exceptions occur * Encodes URL path and query parameters the same way (eg when Puppet[:module_groups] is set, we use spaces instead of '+' in the query parameter. |
|
|