Lendo dados de cabeçalho em Ruby on Rails

94

Estou fazendo uma API onde o token de acesso para login do Facebook será enviado através dos dados do cabeçalho.

Como leio esses dados do cabeçalho?

abhilash
fonte
3
Palavras-chave da pesquisa: "solicitação de cabeçalho de trilhos".
Sergio Tulentsev
15
@SergioTulentsev Exatamente isso me trouxe até aqui.
YoTengoUnLCD

Respostas:

149
request.headers["Content-Type"] # => "text/plain"

substitua "Content-Type" pelo nome do cabeçalho que você deseja ler.

Atualização para Rails 4.2

Existem 2 maneiras de obtê-los no Rails 4.2: Método antigo (ainda funcionando):

request.headers["Cookie"]

Nova forma:

request.headers["HTTP_COOKIE"]

Para obter um Hash com todos os cabeçalhos da solicitação.

request.headers
Eduard
fonte
21

O Rails agora anexa HTTP_ ao cabeçalho, além de convertê-lo em maiúsculas, para que agora seja:

request.headers["HTTP_CONTENT_TYPE"]
filhote
fonte
eu tenho dinheiro que diz que rack não faz trilhos. pode estar errado tho
j_mcnally
-7

Para obter o hash de cabeçalhos http reais, use @_headersno controlador.

BitOfUniverse
fonte
4
Acessar variáveis ​​de instância como essa diretamente é uma forma muito ruim. Esse sublinhado está lá como um lembrete para não fazer isso.
tadman