Sha256: 2b7d11a4fc04eb1d0ae9e4d70483d136bce58f57c8aa1a4e1d16a3b1c657b182
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
module Webmention module Verification class BaseVerifier class << self attr_reader :mime_types end def initialize(response, target, **options) raise ArgumentError, "response must be an HTTP::Response (given #{response.class.name})" unless response.is_a?(HTTP::Response) raise ArgumentError, "target must be a String (given #{target.class.name})" unless target.is_a?(String) @response = response @target = target @options = options raise UnsupportedMimeTypeError, "Unsupported MIME Type: #{response.mime_type}" unless self.class.mime_types.include?(response.mime_type) end def results @results ||= parse_response_body end def verified? results.any? end private def response_body @response_body ||= @response.body.to_s end def target_regexp @target_regexp ||= /^#{target_regexp_str}$/ end def target_regexp_str return @target if @options.fetch(:strict, true) @target.sub(%r{https?://}, 'https?://') end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
webmention-verification-4.0.0 | lib/webmention/verification/verifiers/base_verifier.rb |
webmention-verification-3.0.0 | lib/webmention/verification/verifiers/base_verifier.rb |