response_error.rb 529 B

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