Spec-Zone.ru › Ruby on Rails 7.1

модуль ActionDispatch::Integration::RequestHelpers

Общедоступные методы экземпляров

delete(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 39
def delete(path, **args)
  process(:delete, path, **args)
end

Выполняет запрос DELETE с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

follow_redirect!(headers: {}, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 63
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

Следует за единственным ответом перенаправления. Если последний ответ не был перенаправлением, будет вызвано исключение. В противном случае перенаправление выполняется по заголовку расположения. Если перенаправление — это перенаправление 307 или 308, то при перенаправлении будет использован тот же HTTP-глагол, иначе будет выполнен запрос GET. Все аргументы передаются в базовый запрос.

Заголовок HTTP_REFERER будет установлен в предыдущий URL.

get(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 15
def get(path, **args)
  process(:get, path, **args)
end

Выполняет запрос GET с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

head(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 45
def head(path, **args)
  process(:head, path, **args)
end

Выполняет запрос HEAD с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

options(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 51
def options(path, **args)
  process(:options, path, **args)
end

Выполняет запрос OPTIONS с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

patch(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 27
def patch(path, **args)
  process(:patch, path, **args)
end

Выполняет запрос PATCH с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

post(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 21
def post(path, **args)
  process(:post, path, **args)
end

Выполняет запрос POST с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

put(path, **args) Показать исходный код
# File actionpack/lib/action_dispatch/testing/integration.rb, line 33
def put(path, **args)
  process(:put, path, **args)
end

Выполняет запрос PUT с указанными параметрами. Подробнее см. ActionDispatch::Integration::Session#process.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API