在 controller 裡的 action 可以取得 request 物件
class TestController < ApplicationController
def index
p request.class
render plain: "ok"
end
end
會發現 request 物件是 ActionDispatch::Request 類別
request.headers 是 ActionDispatch::Http::Headers 類別
我們可以用 each 去印出 headers 的所有內容:
request.headers.each{|header| p header }
仔細觀察會發現 header 是一個長度為2的陣列, header[0] 代表 key,header[1] 則代表 value。
def index
headers = request.headers.to_a.keep_if { |header|
header[0].index('HTTP') == 0
}.map{ |header|
"#{header}"
}
render plain: headers.join("\n")
end
可以透過 keep_if 保留想要關注的資訊
沒有留言:
張貼留言