java我可以强制jetty*不*包含用于单元测试的ContentLength头吗?
我在一些JUnit测试中使用了一个简单的嵌入式Jetty实例
我想强制Jetty返回一个没有内容长度头的HTTP响应(正如我们在野外看到的某些请求)
我目前实现了handle(...)
of AbstractHandler
作为捕获请求的主要方式,然后,基于URL中的参数,Jetty返回各种可能的响应,无论是好的还是其他的
response.setHeader("Content-Length", null);
不起作用,它仍然返回基于我的正文数据的有效内容长度
# 1 楼答案
创建一个javax.servlet.Filter来用防止设置
Content-Length
头的实现包装HttpServletResponse请确保在HttpServletResponseWrapper中实现以下方法
每一个都可以是一段简单的代码,类似于
# 2 楼答案
如果您向响应写入一些字节或字符,然后刷新,然后向te响应写入一些其他字节或字符,它将不得不使用分块传输类型,并且无法设置内容长度,因为它被迫发送字节,而不知道实际写入的长度