response_error.rb 446 B

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