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

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

Class Method Summary collapse

Methods included from Logging

included, #log_error, #log_with_tag

Class Method Details

.call(error, error_reference, env = {}) ⇒ 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) (defaults to: {})

    the rack env

Returns:

  • (Hash, String)

    the response headers to set, the response body to set



14
15
16
17
# File 'lib/pact_broker/api/resources/error_response_generator.rb', line 14

def self.call error, error_reference, env = {}
  body = response_body_hash(error, error_reference, env, display_message(error, obfuscated_error_message(error_reference)))
  return headers(env), body.to_json
end

.display_message(error, obfuscated_message) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/pact_broker/api/resources/error_response_generator.rb', line 19

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