Sinatra on Thin:如何隐藏或更改 HTTP 'Server'响应标头



干净的方法是什么?一些机架中间件?我试图修改env['SERVER_SOFTWARE']但我仍然得到回应:

Server: thin 1.3.1 codename Triple Espresso

如何更改该标头的值,或将其从响应中完全删除?

编辑

再试一次:

before do
  headers 'Server' => 'ipm'
end
after do
  headers 'Server' => 'ipm'
end

但仍然没有变化。

这在这里有效:

require 'sinatra'
get '/' do
  [200, {'Server' => 'My Server'}, 'contents']
end

如果要对所有请求执行此操作:

class ChangeServer
  def initialize(app)
    @app = app
  end
  def call(env)
    res = @app.call(env)
    res[1]['Server'] = 'My server'
    return res
  end
end

然后你use ChangeServer你的应用程序。

最新更新