instance method
follow_redirect!
Ruby on Rails 7.2.3
Since v3.0.20Signature
follow_redirect!(headers: {}, **args)
Follow a single redirect response. If the last response was not a redirect, an exception will be raised. Otherwise, the redirect is performed on the location header. If the redirection is a 307 or 308 redirect, the same HTTP verb will be used when redirecting, otherwise a GET request will be performed. Any arguments are passed to the underlying request.
The HTTP_REFERER header will be set to the previous url.
Parameters
-
headerskey = {} -
argskeyrest
Source
# File actionpack/lib/action_dispatch/testing/integration.rb, line 65
def follow_redirect!(headers: {}, **args)
raise "not a redirect! #{status} #{status_message}" unless redirect?
method =
if [307, 308].include?(response.status)
request.method.downcase
else
:get
end
if [ :HTTP_REFERER, "HTTP_REFERER" ].none? { |key| headers.key? key }
headers["HTTP_REFERER"] = request.url
end
public_send(method, response.location, headers: headers, **args)
status
end
Defined in actionpack/lib/action_dispatch/testing/integration.rb line 65
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionDispatch::Integration::RequestHelpers