Class: PactBroker::Api::Resources::ErrorResponseGenerator

Inherits:
Object
  • Object
show all
Extended by:
Messages
Includes:
Logging
Defined in:
lib/pact_broker/api/resources/error_response_generator.rb

Class Method Summary collapse

Methods included from Messages

message, pluralize, validation_message, validation_message_at_index

Methods included from Logging

included, #log_error, #log_with_tag, #measure_info

Class Method Details

.call(error, error_reference, env, message: nil) ⇒ Hash, String

Returns the response headers to set, the response body to set.

Parameters:

  • error (StandardError)
  • error_reference (String)

    an error reference to display to the user

  • env (Hash)

    the rack env

Returns:

  • (Hash, String)

    the response headers to set, the response body to set



25
26
27
28
# File 'lib/pact_broker/api/resources/error_response_generator.rb', line 25

def self.call(error, error_reference, env, message: nil)
  body = response_body_hash(error, error_reference, env, display_message(error, message, obfuscated_error_message(error_reference)))
  return headers(env), body.to_json
end

.display_message(error, message, obfuscated_message) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/pact_broker/api/resources/error_response_generator.rb', line 30

def self.display_message(error, message, obfuscated_message)
  if message
    message
  elsif PactBroker.configuration.show_backtrace_in_error_response?
    error.message || obfuscated_message
  else
    PactBroker::Errors.reportable_error?(error) ? obfuscated_message : error.message
  end
end