class Puppet::Indirector::REST
Access objects via REST
Public Instance Methods
destroy(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 16 def destroy(request) 17 raise NotImplementedError 18 end
find(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 4 def find(request) 5 raise NotImplementedError 6 end
head(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 8 def head(request) 9 raise NotImplementedError 10 end
save(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 20 def save(request) 21 raise NotImplementedError 22 end
search(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 12 def search(request) 13 raise NotImplementedError 14 end
validate_key(request)
click to toggle source
# File lib/puppet/indirector/rest.rb 24 def validate_key(request) 25 # Validation happens on the remote end 26 end
Private Instance Methods
convert_to_http_error(response)
click to toggle source
# File lib/puppet/indirector/rest.rb 30 def convert_to_http_error(response) 31 if response.body.to_s.empty? && response.reason 32 returned_message = response.reason 33 elsif response['content-type'].is_a?(String) 34 content_type, body = parse_response(response) 35 if content_type =~ /[pj]son/ 36 returned_message = Puppet::Util::Json.load(body)["message"] 37 else 38 returned_message = response.body 39 end 40 else 41 returned_message = response.body 42 end 43 44 message = _("Error %{code} on SERVER: %{returned_message}") % { code: response.code, returned_message: returned_message } 45 Net::HTTPError.new(message, Puppet::HTTP::ResponseConverter.to_ruby_response(response)) 46 end
elide(string, length)
click to toggle source
# File lib/puppet/indirector/rest.rb 58 def elide(string, length) 59 if Puppet::Util::Log.level == :debug || string.length <= length 60 string 61 else 62 string[0, length - 3] + "..." 63 end 64 end
parse_response(response)
click to toggle source
Returns the content_type, stripping any appended charset, and the body, decompressed if necessary
# File lib/puppet/indirector/rest.rb 50 def parse_response(response) 51 if response['content-type'] 52 [ response['content-type'].gsub(/\s*;.*$/,''), response.body ] 53 else 54 raise _("No content type in http response; cannot parse") 55 end 56 end