WEBrick 在 per-file 扩展基础上更改 HTTP 响应 headers
WEBrick alter HTTP response headers on a per-file extension basis
是否可以针对特定文件扩展名全局修改 WEBrick
HTTP 响应 headers,例如为 所有 文件提供 svgz
扩展以在 HTTP 响应中包含 HTTP Header“Content-Encoding:gzip”?我似乎不知道该怎么做。
lib/dps/compression.rb
module Dps
class Compression
def initialize(app)
@app = app
end
def call(env)
status, headers, response = @app.call(env)
if File.extname(env['REQUEST_URI']) == ".svgz" && status == 200
headers["Content-Encoding"] = "gzip"
else
nil
end
[status, headers, response]
end
end
end
config/application.rb
config.autoload_paths += Dir["#{config.root}/lib/**/"]
config.middleware.insert_before("ActionDispatch::Static", "Dps::Compression")
是否可以针对特定文件扩展名全局修改 WEBrick
HTTP 响应 headers,例如为 所有 文件提供 svgz
扩展以在 HTTP 响应中包含 HTTP Header“Content-Encoding:gzip”?我似乎不知道该怎么做。
lib/dps/compression.rb
module Dps
class Compression
def initialize(app)
@app = app
end
def call(env)
status, headers, response = @app.call(env)
if File.extname(env['REQUEST_URI']) == ".svgz" && status == 200
headers["Content-Encoding"] = "gzip"
else
nil
end
[status, headers, response]
end
end
end
config/application.rb
config.autoload_paths += Dir["#{config.root}/lib/**/"]
config.middleware.insert_before("ActionDispatch::Static", "Dps::Compression")