lib/readability_parser/error.rb in readability_parser-0.0.2 vs lib/readability_parser/error.rb in readability_parser-0.0.3

- old
+ new

@@ -1,10 +1,17 @@ +require 'multi_json' + module ReadabilityParser class Error < StandardError + # Raised when Readability returns a 4xx or 500 HTTP status code class ClientError < Error + # Creates a new error from an HTTP environement + # + # @param response [Hash] + # @return [ReadabilityParser::Error::ClientError] def initialize(error=nil) parsed_error = parse_error(error) http_error = error.response[:status].to_i if ERROR_MAP.has_key?(http_error) @@ -12,15 +19,20 @@ else super end end - def parse_error(error) - JSON.parse(error.response[:body], :symbolize_names => true) - end + private + + def parse_error(error) + MultiJson.load(error.response[:body], :symbolize_keys => true) + end end # ClientError class ConfigurationError < ReadabilityParser::Error; end + + # Raised when there's an error in Faraday + class RequestError < ReadabilityParser::Error; end # Raised when ReadabilityParser returns a 400 HTTP status code class BadRequest < ReadabilityParser::Error; end # Raised when ReadabilityParser returns a 401 HTTP status code