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?


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

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"]

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.