response_error.rb 506 B

1234567891011121314151617181920212223
  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. msg = 'Exception parsing ResponseError http body:' \
  15. "\n#{e}\n#{e.backtrace.join("\n")}"
  16. PKParse.logger.error(msg)
  17. end
  18. end
  19. end