модуль ActionDispatch::Integration::RequestHelpers
Открытые методы экземпляров
# File actionpack/lib/action_dispatch/testing/integration.rb, line 55 def delete(path, parameters = nil, headers_or_env = nil) process :delete, path, parameters, headers_or_env end
Выполняет запрос DELETE с заданными параметрами. Подробности см. в #get.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 124 def delete_via_redirect(path, parameters = nil, headers_or_env = nil) request_via_redirect(:delete, path, parameters, headers_or_env) end
Выполняет запрос DELETE, следуя за любыми последующими перенаправлениями. Дополнительную информацию см. в request_via_redirect.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 82
def follow_redirect!
raise "not a redirect! #{status} #{status_message}" unless redirect?
get(response.location)
status
end Следует за одним перенаправлением ответа. Если последний ответ не является перенаправлением, будет выброшено исключение. В противном случае перенаправление выполняется по заголовку расположения.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 31 def get(path, parameters = nil, headers_or_env = nil) process :get, path, parameters, headers_or_env end
Выполняет запрос GET с заданными параметрами.
-
path: URI (в виде строки), на котором нужно выполнить запрос GET. -
parameters: HTTP-параметры, которые нужно передать. Это может бытьnil, словарь или строка, соответствующим образом закодированная (application/x-www-form-urlencodedилиmultipart/form-data). -
headers_or_env: Дополнительные заголовки для передачи, как словарь. Заголовки будут объединены в хэш Rack env.
Этот метод возвращает объект Response, который можно использовать для проверки деталей ответа. Кроме того, если этот метод был вызван из объекта ActionDispatch::IntegrationTest, то переменная экземпляра этого объекта @response будет указывать на тот же объект ответа.
Вы также можете выполнить запросы POST, PATCH, PUT, DELETE и HEAD с помощью #post, #patch, #put, #delete, и #head.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 100 def get_via_redirect(path, parameters = nil, headers_or_env = nil) request_via_redirect(:get, path, parameters, headers_or_env) end
Выполняет запрос GET, следуя за любыми последующими перенаправлениями. Дополнительную информацию см. в request_via_redirect.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 61 def head(path, parameters = nil, headers_or_env = nil) process :head, path, parameters, headers_or_env end
Выполняет запрос HEAD с заданными параметрами. Подробности см. в #get.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 43 def patch(path, parameters = nil, headers_or_env = nil) process :patch, path, parameters, headers_or_env end
Выполняет запрос PATCH с заданными параметрами. Подробности см. в #get.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 112 def patch_via_redirect(path, parameters = nil, headers_or_env = nil) request_via_redirect(:patch, path, parameters, headers_or_env) end
Выполняет запрос PATCH, следуя за любыми последующими перенаправлениями. Дополнительную информацию см. в request_via_redirect.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 37 def post(path, parameters = nil, headers_or_env = nil) process :post, path, parameters, headers_or_env end
Выполняет запрос POST с заданными параметрами. Подробности см. в #get.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 106 def post_via_redirect(path, parameters = nil, headers_or_env = nil) request_via_redirect(:post, path, parameters, headers_or_env) end
Выполняет запрос POST, следуя за любыми последующими перенаправлениями. Дополнительную информацию см. в request_via_redirect.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 49 def put(path, parameters = nil, headers_or_env = nil) process :put, path, parameters, headers_or_env end
Выполняет запрос PUT с заданными параметрами. Подробности см. в #get.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 118 def put_via_redirect(path, parameters = nil, headers_or_env = nil) request_via_redirect(:put, path, parameters, headers_or_env) end
Выполняет запрос PUT, следуя за любыми последующими перенаправлениями. Дополнительную информацию см. в request_via_redirect.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 92 def request_via_redirect(http_method, path, parameters = nil, headers_or_env = nil) process(http_method, path, parameters, headers_or_env) follow_redirect! while redirect? status end
Выполняет запрос указанным методом, следуя за любыми последующими перенаправлениями. Обратите внимание, что перенаправления следуют до тех пор, пока ответ не является перенаправлением – это означает, что вы можете попасть в бесконечный цикл, если перенаправление циклически возвращается к себе.
# File actionpack/lib/action_dispatch/testing/integration.rb, line 71
def xml_http_request(request_method, path, parameters = nil, headers_or_env = nil)
headers_or_env ||= {}
headers_or_env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
headers_or_env['HTTP_ACCEPT'] ||= [Mime::JS, Mime::HTML, Mime::XML, 'text/xml', Mime::ALL].join(', ')
process(request_method, path, parameters, headers_or_env)
end Выполняет запрос XMLHttpRequest с заданными параметрами, отражая запрос из библиотеки Prototype.
Метод запроса – это :get, :post, :patch, :put, :delete или :head; параметры – nil, хэш или закодированная URL-строка или многочастная строка; заголовки – хэш.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.