Lectura de datos de encabezado en Ruby on Rails

94

Estoy creando una API donde el token de acceso para el inicio de sesión de Facebook se enviará a través de los datos del encabezado.

¿Cómo leo estos datos del encabezado?

abhilash
fuente
3
Palabras clave de búsqueda: "solicitud de encabezado de rieles".
Sergio Tulentsev
15
@SergioTulentsev Exactamente eso me trajo aquí.
YoTengoUnLCD

Respuestas:

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

reemplace "Content-Type" con el nombre del encabezado que desea leer.

Actualización para Rails 4.2

Hay 2 formas de obtenerlos en Rails 4.2: Modo antiguo (todavía funciona):

request.headers["Cookie"]

Nueva manera:

request.headers["HTTP_COOKIE"]

Para obtener un Hash con todos los encabezados de la solicitud.

request.headers
Eduard
fuente
21

Rails ahora adjunta HTTP_ al encabezado y lo convierte en mayúsculas, por lo que ahora sería:

request.headers["HTTP_CONTENT_TYPE"]
cubsker
fuente
Tengo dinero que dice que el estante no tiene rieles. aunque podría estar equivocado
j_mcnally
-7

Para obtener el hash de los encabezados http reales, use @_headersen controller.

BitOfUniverse
fuente
4
Acceder directamente a variables de instancia como esta es realmente una mala forma. Ese subrayado está ahí como un recordatorio para que no lo haga.
tadman