2016-12-12 2 views
0

Привет У меня есть успокоительные APIs в рельсах и реагировать-Redux на передний конец ..символы подчеркивания преобразуются в подгибы в заголовках рельсов?

На переднем конце:

axios.defaults.headers.access_token = "default values" 
axios.defaults.headers.some_header_token = "some value" 

т.е. я послал два параметра из клиентской стороны

  1. access_token
  2. some_header_token

Что я клоню рельсы сервера

В моей консоли я получаю

request.header["access_token"] = nil 
request.header["some_header_token"] = nil 

но получать значения в

request.header["access-token"] 
request.header["some-header-token"] 

подчеркивания становятся преобразованы в hypens

+0

вопрос непонятный вы можете отправить код здесь. – Satendra

+0

@satendra: Я обновил свой вопрос – ashwintastic

ответ

0

Ref

# Provides access to the request's HTTP headers from the environment. 
# 
env  = { "CONTENT_TYPE" => "text/plain", "HTTP_USER_AGENT" => "curl/7.43.0" } 
headers = ActionDispatch::Http::Headers.new(env) 
headers["Content-Type"] # => "text/plain" 
headers["User-Agent"] # => "curl/7/43/0" 

отметить также, что, когда заголовки отображаются в CGI-подобных переменных сервером Rack , как тире и подчеркивания преобразуются в символы подчеркивания. Эта неопределенность не может быть решена на этом этапе. Оба символа подчеркивания и цифры должны быть интерпретированы так, как если бы они были первоначально отправлены как тире.

GET/HTTP/1.1 
# ... 
User-Agent: curl/7.43.0 
X_Custom_Header: token 
# 
headers["X_Custom_Header"] # => nil 
headers["X-Custom-Header"] # => "token" 

Несмотря на то, подчеркивания в именах заголовков редко встречающихся, они действуют в соответствии с RFC822 1.