Module: ActionDispatch::Integration::RequestHelpers
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | actionpack/lib/action_dispatch/testing/integration.rb |
Instance Method Summary
-
#delete(path, **args)
Performs a DELETE request with the given parameters.
-
#follow_redirect!(headers: {}, **args)
Follow a single redirect response.
-
#get(path, **args)
Performs a GET request with the given parameters.
-
#head(path, **args)
Performs a HEAD request with the given parameters.
-
#options(path, **args)
Performs an OPTIONS request with the given parameters.
-
#patch(path, **args)
Performs a PATCH request with the given parameters.
-
#post(path, **args)
Performs a POST request with the given parameters.
-
#put(path, **args)
Performs a PUT request with the given parameters.
Instance Method Details
#delete(path, **args)
Performs a DELETE request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 42
def delete(path, **args) process(:delete, path, **args) end
#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.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 65
def follow_redirect!(headers: {}, **args) raise "not a redirect! #{status} #{}" 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
#get(path, **args)
Performs a GET request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 18
def get(path, **args) process(:get, path, **args) end
#head(path, **args)
Performs a HEAD request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 48
def head(path, **args) process(:head, path, **args) end
#options(path, **args)
Performs an OPTIONS request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 54
def (path, **args) process(:, path, **args) end
#patch(path, **args)
Performs a PATCH request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 30
def patch(path, **args) process(:patch, path, **args) end
#post(path, **args)
Performs a POST request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 24
def post(path, **args) process(:post, path, **args) end
#put(path, **args)
Performs a PUT request with the given parameters. See Session#process for more details.
# File 'actionpack/lib/action_dispatch/testing/integration.rb', line 36
def put(path, **args) process(:put, path, **args) end