diff options
author | Remo Fritzsche <dev@remofritzsche.com> | 2018-07-05 22:51:52 +0200 |
---|---|---|
committer | Rafael França <rafaelmfranca@gmail.com> | 2018-07-05 16:51:52 -0400 |
commit | a0061d2389a178b093f0d3f64f58236ffbe088e0 (patch) | |
tree | c13832bbb96ba827310e042e91987e2790384770 /actionpack/lib/action_dispatch/testing | |
parent | 9ecbd64cd93af0c7efe3141e93f85e5c263e00d0 (diff) | |
download | rails-a0061d2389a178b093f0d3f64f58236ffbe088e0.tar.gz rails-a0061d2389a178b093f0d3f64f58236ffbe088e0.tar.bz2 rails-a0061d2389a178b093f0d3f64f58236ffbe088e0.zip |
Pass along arguments to underlying `get` method in `follow_redirect!` (#33299)
* Allow get arguments for follow_redirect
Now all arguments passed to `follow_redirect!` are passed to the
underlying `get` method. This for example allows to set custom headers
for the redirection request to the server.
This is especially useful for setting headers that may, outside of the
testing environment, be set automatically on every request, i.e. by a
web application firewall.
* Allow get arguments for follow_redirect
[Remo Fritzsche + Rafael Mendonça França]
Diffstat (limited to 'actionpack/lib/action_dispatch/testing')
-rw-r--r-- | actionpack/lib/action_dispatch/testing/integration.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/testing/integration.rb b/actionpack/lib/action_dispatch/testing/integration.rb index f0398dc7b1..7637febd1c 100644 --- a/actionpack/lib/action_dispatch/testing/integration.rb +++ b/actionpack/lib/action_dispatch/testing/integration.rb @@ -50,10 +50,11 @@ module ActionDispatch # 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. - def follow_redirect! + # performed on the location header. Any arguments are passed to the + # underlying call to `get`. + def follow_redirect!(**args) raise "not a redirect! #{status} #{status_message}" unless redirect? - get(response.location) + get(response.location, **args) status end end |