response_error.rb 486 B

1234567891011121314151617181920
  1. # frozen_string_literal: true
  2. module PKParse
  3. class ResponseError < Error
  4. def initialize(error)
  5. super(error)
  6. parse_body
  7. end
  8. private
  9. def parse_body
  10. body = original_exception.http_body
  11. parsed_body = JSON.parse(body, symbolize_names: true)
  12. @message = parsed_body[:error]
  13. rescue StandardError => e
  14. PKParse.logger.error("Exception parsing ResponseError http body:\n#{e}\n#{e.backtrace.join("\n")}")
  15. end
  16. end
  17. end