Class: PactBroker::Api::Resources::ErrorResponseBodyGenerator
- Inherits:
-
Object
- Object
- PactBroker::Api::Resources::ErrorResponseBodyGenerator
show all
- Includes:
- Logging
- Defined in:
- lib/pact_broker/api/resources/error_response_body_generator.rb
Class Method Summary
collapse
Methods included from Logging
included, #log_error, #log_with_tag
Class Method Details
.call(error, error_reference, _env = {}) ⇒ Object
env not needed, just passing in in case PF ever needs it
10
11
12
|
# File 'lib/pact_broker/api/resources/error_response_body_generator.rb', line 10
def self.call error, error_reference, _env = {}
response_body_hash(error, error_reference).to_json
end
|
.display_message(error, obfuscated_message) ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/pact_broker/api/resources/error_response_body_generator.rb', line 14
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
|
.obfuscated_error_message(error_reference) ⇒ Object
22
23
24
|
# File 'lib/pact_broker/api/resources/error_response_body_generator.rb', line 22
def self.obfuscated_error_message(error_reference)
"An error has occurred. The details have been logged with the reference #{error_reference}"
end
|
.response_body_hash(error, error_reference) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/pact_broker/api/resources/error_response_body_generator.rb', line 26
def self.response_body_hash(error, error_reference)
response_body = {
error: {
message: display_message(error, obfuscated_error_message(error_reference)),
reference: error_reference
}
}
if PactBroker.configuration.show_backtrace_in_error_response?
response_body[:error][:backtrace] = error.backtrace
end
response_body
end
|