I am trying to access the headers in a filter in sinatra. My request includes the header \"HTTP_AUTH\", however I can\'t access it. My filter is
before do
ha
Try use before
block with headers
method:
before do
headers "HTTP_AUTH" => "test"
headers "Content-Type" => "text/html; charset=utf-8"
end
or in request:
get '/' do
headers['HTTP_AUTH'] = "test"
headers['Cache-Control'] = 'public, max-age=600'
puts headers # show headers on this request
end
Use headers with is just hash
I just wanted to add that if you use headers
it will not show custom headers. For example, I set up a custom header named X-CSRF-Token which I send on every AJAX request, and this one won't show up in that hash. If you need to access custom headers, you will find them through request.env
like:
post '/' do
header_token = request.env["HTTP_X_CSRF_TOKEN"]
end
(Notice how rack changes X-CSRF-Token to HTTP_X_CSRF_TOKEN)