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