class ChefDK::ServiceExceptionInspectors::HTTP
Attributes
exception[R]
Public Class Methods
new(exception)
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 26 def initialize(exception) @exception = exception end
Public Instance Methods
attempt_error_message_extract()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 74 def attempt_error_message_extract error_body = FFI_Yajl::Parser.parse(response_body) if error_body.respond_to?(:key?) && error_body.key?("error") Array(error_body["error"]).join(", ") else error_body.to_s end rescue response_body end
code()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 54 def code response.code end
extended_error_info()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 34 def extended_error_info <<~END --- REQUEST DATA ---- #{http_method} #{uri} #{request_headers} #{req_body} --- RESPONSE DATA --- #{code} #{response_message} #{response_headers} #{response_body} END end
http_method()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 101 def http_method request.method end
message()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 30 def message "HTTP #{code} #{response_message}: " + parsed_response_body end
parsed_response_body()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 66 def parsed_response_body if response_body && !response_body.empty? attempt_error_message_extract else "(No explanation provided by server)" end end
req_body()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 113 def req_body request.body end
request()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 93 def request exception.chef_rest_request end
request_headers()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 105 def request_headers headers_s = "" request.each_header do |key, value| headers_s << key << ": " << value << "\n" end headers_s end
response()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 50 def response exception.response end
response_body()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 62 def response_body response.body end
response_headers()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 85 def response_headers headers_s = "" response.each_header do |key, value| headers_s << key << ": " << value << "\n" end headers_s end
response_message()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 58 def response_message response.message end
uri()
click to toggle source
# File lib/chef-dk/service_exception_inspectors/http.rb, line 97 def uri request.uri.to_s + request.path.to_s end