lib/webmention/verification/client.rb in webmention-verification-4.0.0 vs lib/webmention/verification/client.rb in webmention-verification-5.0.0

- old
+ new

@@ -22,29 +22,29 @@ # @param source [String] # @param target [String] # @param options [Hash] # @option options [Boolean] :strict (true) def initialize(source, target, **options) - raise ArgumentError, "source must be a String (given #{source.class.name})" unless source.is_a?(String) - raise ArgumentError, "target must be a String (given #{target.class.name})" unless target.is_a?(String) - - @source = source - @target = target + @source = source.to_str + @target = target.to_str @options = options raise ArgumentError, 'source must be an absolute URI (e.g. https://example.com/post/100)' unless source_uri.absolute? raise ArgumentError, 'target must be an absolute URI (e.g. https://example.com/post/100)' unless target_uri.absolute? end + # @return [String] + def inspect + format(%(#<#{self.class.name}:%#0x source: #{source.inspect} target: #{target.inspect} options: #{@options.inspect}>), object_id) + end + # @return [HTTP::Response] # @raise [Webmention::Verification::ConnectionError, Webmention::Verification::TimeoutError, Webmention::Verification::TooManyRedirectsError] def response @response ||= HTTP.follow.headers(HTTP_CLIENT_HEADERS).timeout(connect: 10, read: 10).get(source_uri) - rescue HTTP::ConnectionError, - HTTP::TimeoutError, - HTTP::Redirector::TooManyRedirectsError => exception - raise Webmention::Verification.const_get(exception.class.name.split('::').last), exception + rescue HTTP::Error => exception + raise HttpError, exception end # @return [Addressable::URI] # @raise [Webmention::Verification::InvalidURIError] def source_uri @@ -64,10 +64,10 @@ # @return [Boolean] # @raise [Webmention::Verification::UnsupportedMimeTypeError] def verified? raise UnsupportedMimeTypeError, "Unsupported MIME Type: #{response.mime_type}" unless verifier_for_mime_type - verifier_for_mime_type.new(response, target, @options).verified? + verifier_for_mime_type.new(response, target, **@options).verified? end private def verifier_for_mime_type