Spec-Zone.ru › Ruby on Rails 5.2

класс ActionDispatch::RequestId

Родитель:
Object

Обеспечивает уникальный идентификатор запроса, доступный в переменной окружения action_dispatch.request_id (доступной через ActionDispatch::Request#request_id или псевдоним ActionDispatch::Request#uuid) и отправляет этот же идентификатор клиенту через заголовок X-Request-Id.

Уникальный идентификатор запроса основан либо на заголовке X-Request-Id в запросе (обычно генерируется брандмауэром, балансировщиком нагрузки или веб-сервером), либо, если этот заголовок недоступен, на случайном uuid. Если заголовок принимается из внешнего источника, он очищается, ограничиваясь максимальной длиной в 255 символов и содержанием только букв, цифр и дефисов.

Уникальный идентификатор запроса может использоваться для отслеживания запроса от начала до конца и обычно включается в файлы журналов с различных уровней стека.

Публичные методы класса

new(app) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/request_id.rb, line 20
def initialize(app)
  @app = app
end

Публичные методы экземпляра

call(env) Показать исходный код
# File actionpack/lib/action_dispatch/middleware/request_id.rb, line 24
def call(env)
  req = ActionDispatch::Request.new env
  req.request_id = make_request_id(req.x_request_id)
  @app.call(env).tap { |_status, headers, _body| headers[X_REQUEST_ID] = req.request_id }
end

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

Spec-Zone.ru

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