Module: ActionDispatch::Integration::RequestHelpers
- Included in:
 - Session
 
- Defined in:
 - lib/action_dispatch/testing/integration.rb
 
Instance Method Summary collapse
- 
  
    
      #delete(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a DELETE request with the given parameters.
 - 
  
    
      #follow_redirect!(headers: {}, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Follow a single redirect response.
 - 
  
    
      #get(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a GET request with the given parameters.
 - 
  
    
      #head(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a HEAD request with the given parameters.
 - 
  
    
      #options(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs an OPTIONS request with the given parameters.
 - 
  
    
      #patch(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a PATCH request with the given parameters.
 - 
  
    
      #post(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a POST request with the given parameters.
 - 
  
    
      #put(path, **args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Performs a PUT request with the given parameters.
 
Instance Method Details
#delete(path, **args) ⇒ Object
Performs a DELETE request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      39 40 41  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 39 def delete(path, **args) process(:delete, path, **args) end  | 
  
#follow_redirect!(headers: {}, **args) ⇒ Object
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.
      63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 63 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) ⇒ Object
Performs a GET request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      15 16 17  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 15 def get(path, **args) process(:get, path, **args) end  | 
  
#head(path, **args) ⇒ Object
Performs a HEAD request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      45 46 47  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 45 def head(path, **args) process(:head, path, **args) end  | 
  
#options(path, **args) ⇒ Object
Performs an OPTIONS request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      51 52 53  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 51 def (path, **args) process(:options, path, **args) end  | 
  
#patch(path, **args) ⇒ Object
Performs a PATCH request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      27 28 29  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 27 def patch(path, **args) process(:patch, path, **args) end  | 
  
#post(path, **args) ⇒ Object
Performs a POST request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      21 22 23  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 21 def post(path, **args) process(:post, path, **args) end  | 
  
#put(path, **args) ⇒ Object
Performs a PUT request with the given parameters. See ActionDispatch::Integration::Session#process for more details.
      33 34 35  | 
    
      # File 'lib/action_dispatch/testing/integration.rb', line 33 def put(path, **args) process(:put, path, **args) end  |