Удалите префикс HTTP_ в заголовках Rails

Любой запрос, отправленный на контроллер Rails, получает HTTP_ префикс к нему, так как это добавлено ActionDispatch::HTTP.Headers, Есть ли способ предотвратить это (без переопределения ActionDispatch::HTTP, так что я могу использовать свои пользовательские заголовки, как есть, и использовать их в качестве ключей для headers.@env?

1 ответ

Решение

Нет, это невозможно. Вот так ActionDispatch::Http::Headers Класс предназначен для нормализации заголовков.

private

def env_name(key)
  key = key.to_s
  if key =~ HTTP_HEADER
    key = key.upcase.tr('-', '_')
    key = "HTTP_" + key unless CGI_VARIABLES.include?(key)
  end
  key
end

Вы все еще можете использовать свои собственные заголовки. Вам просто нужно сослаться на них как HTTP_X_FOO вместо x-foo,

Другие вопросы по тегам