如何从restlet / jetty响应中删除“ Server”头?

问题描述 投票:1回答:1

我在我的项目中使用Restlet与Jetty集成。我需要从响应中删除“服务器”标头,因为它公开了服务器信息。但是,由于我将Restlet与Jetty集成在一起(restlet,jetty,org.restlet.ext.jetty.jar),因此HttpConfiguration对象在Restlet中而不是在我的代码中实例化。因此,我无法将“ _sendServerVersion”设置为false,因此无法从响应中删除服务器标头。在这种情况下,如何从响应中删除服务器标头?

restlet jetty-9
1个回答
0
投票

创建过滤器并通过过滤器删除标题的最佳方法:

public class ServerFilter extends Filter {

    public ServerFilter(Context context) {
        super(context);
    }

    @Override
    protected void afterHandle(Request request, Response response) {
        response.getHeaders().set("Server", null);
        super.afterHandle(request, response);
    }

}

然后像这样使用它:

ServerFilter serverFilter = new ServerFilter(getContext());
serverFilter.setNext(router);
return serverFilter;

请参阅:https://javadocs.restlet.talend.com/2.4/jee/api/index.html以获取文档

© www.soinside.com 2019 - 2024. All rights reserved.