Sha256: 831e5c99ddac703806aca48cfb12a30b8c3c62c9bf982be4a133cf9803e2f67a
Contents?: true
Size: 1.49 KB
Versions: 4
Compression:
Stored size: 1.49 KB
Contents
class Puppet::HTTP::Service::Report < Puppet::HTTP::Service API = '/puppet/v3'.freeze # puppet major version where JSON is enabled by default MAJOR_VERSION_JSON_DEFAULT = 5 def initialize(client, server, port) url = build_url(API, server || Puppet[:report_server], port || Puppet[:report_port]) super(client, url) end def put_report(name, report, environment:, ssl_context: nil) formatter = Puppet::Network::FormatHandler.format_for(Puppet[:preferred_serialization_format]) headers = add_puppet_headers('Accept' => get_mime_types(Puppet::Transaction::Report).join(', ')) response = @client.put( with_base_url("/report/#{name}"), headers: headers, params: { environment: environment }, content_type: formatter.mime, body: serialize(formatter, report), ssl_context: ssl_context ) return response.body.to_s if response.success? server_version = response[Puppet::Network::HTTP::HEADER_PUPPET_VERSION] if server_version && SemanticPuppet::Version.parse(server_version).major < MAJOR_VERSION_JSON_DEFAULT && Puppet[:preferred_serialization_format] != 'pson' #TRANSLATORS "pson", "preferred_serialization_format", and "puppetserver" should not be translated raise Puppet::HTTP::ProtocolError.new(_("To submit reports to a server running puppetserver %{server_version}, set preferred_serialization_format to pson") % { server_version: server_version }) end raise Puppet::HTTP::ResponseError.new(response) end end
Version data entries
4 entries across 4 versions & 1 rubygems