Method: Mechanize::HTTP::Agent#response_follow_meta_refresh

Defined in:
lib/mechanize/http/agent.rb

#response_follow_meta_refresh(response, uri, page, redirects) ⇒ Object

[View source]

954
955
956
957
958
959
960
961
962
963
964
965
966
# File 'lib/mechanize/http/agent.rb', line 954

def response_follow_meta_refresh response, uri, page, redirects
  delay, new_url = get_meta_refresh(response, uri, page)
  return nil unless delay
  new_url = new_url ? secure_resolve!(new_url, page) : uri

  raise Mechanize::RedirectLimitReachedError.new(page, redirects) if
    redirects + 1 > @redirection_limit

  sleep delay
  @history.push(page, page.uri)
  fetch new_url, :get, {}, [],
        Mechanize::Page.new, redirects + 1
end