Module: FetchUtil::Browser::Stabilization::PageFlow

Included in:
FetchUtil::Browser::Stabilization
Defined in:
lib/fetch_util/browser/stabilization/page_flow.rb

Constant Summary collapse

PAGE_FLOW_STABILIZATION_PROFILES =
[
  SiteStabilization::CommunityAndMarketplace::COMMUNITY_MARKETPLACE_STABILIZATION_PROFILES[:stabilize_reddit],
  SiteStabilization::SocialPlatforms::SOCIAL_PLATFORM_STABILIZATION_PROFILES[:stabilize_instagram],
  SiteStabilization::SocialPlatforms::SOCIAL_PLATFORM_STABILIZATION_PROFILES[:stabilize_facebook],
  SiteStabilization::CommunityAndMarketplace::COMMUNITY_MARKETPLACE_STABILIZATION_PROFILES[:stabilize_ebay_search],
  { host: "gitlab.com", path_query: ->(uri) { uri.path.split("/").reject(&:empty?).length == 2 },
    strategy: :stabilize_gitlab_repo, notes: "Wait for repository README content on GitLab project roots.",
    tests: "spec/fetch_util/browser_stabilization_spec.rb" }
].freeze
POST_GENERIC_STABILIZATION_PROFILES =
[
  { host: ["wyborcza.pl", "gazeta.pl"], path_query: ->(uri) { uri.path.match?(%r{/(?:\d+,){2}\d+,|/7,}) },
    strategy: :wait_for_agora_article,
    notes: "After generic consent/idle handling, wait briefly for delayed Agora article bodies.",
    tests: "spec/fetch_util/browser_stabilization_spec.rb" },
  { host: "france24.com", path_query: ->(uri) { uri.path.match?(%r{/\d{8}-}) },
    strategy: :wait_for_france24_article,
    notes: "After generic consent/idle handling, wait briefly for delayed France24 article bodies.",
    tests: "spec/fetch_util/browser_stabilization_spec.rb" }
].freeze