我想删除一些我的web服务器注入到报头响应的报头,但无法删除
我只看到添加头的辅助函数,但没有办法在Grape中删除它们,我似乎找不到包含头的变量
我特别想去掉由我的Passenger服务器注入的X-Powered-By
, Passenger似乎只提供删除版本号的能力,但不能完全删除它…这似乎不安全…
我想在我的before
块
before do
## I see i can easily add headers, but not remove
header 'X-Robots-Tag', 'noindex'
## how do I remove headers here?
## ...
end
## ... some routes
get '/' do
## ...
end
许多库提供删除头文件的功能,例如:
ExpressJS h5>
response.headers['Connection'] = 'Closed'
remove_keys = %w(X-Runtime Cache-Control Server Etag Set-Cookie)
response.headers.delete_if{|key| remove_keys.include? key}
虽然在我看来有点尴尬的文档确实显示,你可以删除头只通过传递键而不是值(或传递值作为nil
)
示例:
before do
## I see i can easily add headers, but not remove
header 'X-Robots-Tag', 'noindex'
## how do I remove headers here?
header 'X-Powered-By'
end
我猜这个概念是,设置为非值的标头根本不是真正的标头。