Lettura dei dati di intestazione in Ruby on Rails


94

Sto creando un'API in cui nel token di accesso per l'accesso a Facebook verranno inviati tramite i dati dell'intestazione.

Come leggo questi dati dall'intestazione?


3
Parole chiave di ricerca: "richiesta intestazione rotaie".
Sergio Tulentsev

15
@SergioTulentsev Esattamente questo mi ha portato qui.
YoTengoUnLCD

Risposte:


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

sostituire "Content-Type" con il nome dell'intestazione che si desidera leggere.

Aggiornamento per Rails 4.2

Ci sono 2 modi per ottenerli in Rails 4.2: Vecchio modo (ancora funzionante):

request.headers["Cookie"]

Nuovo modo:

request.headers["HTTP_COOKIE"]

Per ottenere un hash con tutte le intestazioni della richiesta.

request.headers

21

Rails ora collega HTTP_ all'intestazione e lo converte in maiuscolo, quindi ora sarebbe:

request.headers["HTTP_CONTENT_TYPE"]

Ho soldi che dicono che il rack non funziona. potrebbe essere sbagliato
j_mcnally

-7

Per ottenere l'hash delle intestazioni http effettive utilizzare @_headersnel controller.


4
L'accesso diretto a variabili di istanza come questa è davvero pessimo. Quella sottolineatura è lì come promemoria per non farlo.
tadman
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.