Sha256: d0734ffba4d69af21be93544609e08393f8a3b01f46b22fa65cad40278089d68
Contents?: true
Size: 1.19 KB
Versions: 23
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true require 'addressable' require 'aranha/parsers/source_address/fetch_content_error' require 'eac_envs/http/error' require 'eac_envs/http/request' module Aranha module Parsers class SourceAddress class HttpGet class << self def location_uri(source_uri, location) ::Addressable::URI.join(source_uri, location).to_s end def valid_source?(source) source.to_s =~ %r{\Ahttps?://} end end attr_reader :source def initialize(source) @source = source.to_s end def ==(other) self.class == other.class && source == other.source end def url source end def final_url content unless @final_url @final_url end def content request = ::EacEnvs::Http::Request.new.url(url).retry(true).follow_redirect(true) request.response.body_str rescue ::EacEnvs::Http::Error => e raise ::Aranha::Parsers::SourceAddress::FetchContentError, e.message, request end def serialize url end end end end end
Version data entries
23 entries across 23 versions & 2 rubygems