Method: Cisco::Client::GRPC#handle_errors

Defined in:
lib/cisco_node_utils/client/grpc/client.rb

#handle_errors(args, error_responses) ⇒ Object



298
299
300
301
302
303
304
305
306
307
308
309
310
311
# File 'lib/cisco_node_utils/client/grpc/client.rb', line 298

def handle_errors(args, error_responses)
  return if error_responses.empty?
  debug "#{error_responses.length} response(s) had errors:"
  error_responses.each { |r| debug "  error:\n#{r.errors}" }
  first_error = error_responses.first.errors
  # Conveniently for us, all *Reply protobufs in EMS have an errors field
  # Less conveniently, some are JSON and some are not.
  begin
    msg = JSON.parse(first_error)
    handle_json_error(msg)
  rescue JSON::ParserError
    handle_text_error(args, first_error)
  end
end