3

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

Server: thin 1.3.1 codename Triple Espresso

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

编辑

另一个尝试:

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

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

但仍然没有任何变化。

4

1 回答 1

4

这在这里有效:

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在你的应用程序中。

于 2012-04-12T15:02:12.793 回答