class Chef::Formatters::ErrorInspectors::CookbookSyncErrorInspector
CookbookSyncErrorInspector¶ ↑
Generates human-friendly explanations for errors encountered during cookbook sync.
Attributes
cookbooks[R]
exception[R]
Public Class Methods
new(cookbooks, exception)
click to toggle source
# File lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb, line 38 def initialize(cookbooks, exception) @cookbooks, @exception = cookbooks, exception end
Public Instance Methods
add_explanation(error_description)
click to toggle source
# File lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb, line 42 def add_explanation(error_description) case exception when Net::HTTPServerException, Net::HTTPFatalError humanize_http_exception(error_description) when EOFError describe_eof_error(error_description) when *NETWORK_ERROR_CLASSES describe_network_errors(error_description) else error_description.section("Unexpected Error:", "#{exception.class.name}: #{exception.message}") end end
config()
click to toggle source
# File lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb, line 55 def config Chef::Config end
humanize_http_exception(error_description)
click to toggle source
# File lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb, line 59 def humanize_http_exception(error_description) response = exception.response case response when Net::HTTPUnauthorized # TODO: this is where you'd see conflicts b/c of username/clientname stuff describe_401_error(error_description) when Net::HTTPBadRequest describe_400_error(error_description) when Net::HTTPNotFound when Net::HTTPInternalServerError describe_500_error(error_description) when Net::HTTPBadGateway, Net::HTTPServiceUnavailable, Net::HTTPGatewayTimeOut describe_503_error(error_description) when Net::HTTPNotAcceptable describe_406_error(error_description, response) else describe_http_error(error_description) end end