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