Sha256: bc93150ffd43be387955e8ef4a21567fe160135af64c2ff7f37a1c2643f59a2a
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true require 'addressable' require 'aranha/parsers/source_address/base' require 'eac_envs/http/error' require 'eac_envs/http/request' module Aranha module Parsers class SourceAddress class HttpGet < ::Aranha::Parsers::SourceAddress::Base class << self def location_uri(source_uri, location) ::Addressable::URI.join(source_uri, location).to_s end end common_constructor :source, super_args: -> { [source.to_s] } def ==(other) self.class == other.class && source == other.source end def final_url content unless @final_url @final_url end # @return [String] # @raise [Aranha::Parsers::SourceAddress::FetchContentError] def content request = ::EacEnvs::Http::Request.new.url(url).retry(true).follow_redirect(true) .header('user-agent', self.class.name) request.response.body_str! rescue ::EacEnvs::Http::Error => e raise ::Aranha::Parsers::SourceAddress::FetchContentError.new(e.message, request) end def serialize url end # @return [Addressable::URI] def uri source_as_uri end # @return [Boolean] def valid? source.to_s =~ %r{\Ahttps?://} end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
aranha-parsers-0.25.0 | lib/aranha/parsers/source_address/http_get.rb |
aranha-parsers-0.24.0 | lib/aranha/parsers/source_address/http_get.rb |