如何修复直接写入HTTP标头输出的Findbugs HTTP参数
问题内容:
我有一个类RequestFilter和@Override方法doFilterInternal。当我添加Header进行响应时,findbugs会显示直接写入HTTP标头输出的错误HTTP参数。那么我该如何解决这个问题呢?谢谢大家
String rqHd = request.getHeader("Access-Control-Request-Headers");
response.addHeader("Access-Control-Allow-Headers", rqHd); // findbugs error here
问题答案:
我认为这是HRS_REQUEST_PARAMETER_TO_HTTP_HEADER错误,您可以这样解决:
String rqHd = request.getHeader("Access-Control-Request-Headers");
if(rqHd != null){
String rqHeader = URLEncoder.encode(rqHd,StandardCharsets.UTF_8.displayName());
response.addHeader("Access-Control-Allow-Headers", rqHeader);
}