带有com.sun.net.httpserver.httpserver的可修改请求标头

时间:2020-08-23 17:06:58

标签: java http servlets server

我正在创建一个简单轻便的反向HTTP代理,并使用com.sun.net.httpserver.httpserver

代理完成工作后,应在请求标头中添加一些标头,并将请求转发至实际服务,但是,当我在请求标头中添加任何内容时,由于使用UnmodifiableHeaders,因此我会收到UnsupportedOperationException。

有人可以告诉我如何配置com.sun.net.httpserver.httpserver以使用可修改的标头吗?

或者是否有其他更好,更轻量级的HTTP服务器支持此功能?

java.lang.UnsupportedOperationException: unsupported operation
    at jdk.httpserver/sun.net.httpserver.UnmodifiableHeaders.add(UnmodifiableHeaders.java:65)
    at com.example.SampleFilter.lambda$addValuesInRequestHeader$1(SampleFilter.java:80)

1 个答案:

答案 0 :(得分:0)

无法添加/编辑标头,但是当在过滤器之间跳转时,我们可以使用httpExchange.setAttribute()和httpExchange.getAttribute()方法来传递其他信息。

要在要转发给服务的请求中添加标头,请从原始请求中创建一个新的http请求,并在标头中包含属性