AsyncServerRequestHandler 如何设置响应 headers?
How does an AsyncServerRequestHandler set response headers?
将 Apache httpcore 5 用于 java 时,AsyncServerRequestHandler 中的 handle() 方法如何将 headers 添加到响应中?
https://hc.apache.org/httpcomponents-core-5.0.x/examples.html such as https://hc.apache.org/httpcomponents-core-5.0.x/httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2FileServerExample.java 中有几个示例,但它们有些密集。
在旧的 httpcore <= 4 下你会做类似的事情
response.setHeader("Access-Control-Allow-Origin", "*")
但不清楚 httpcore 5 使用的许多间接层中哪一层是可以访问响应的层 headers,以及哪一层 object 具有与 setHeader 对应的方法。
您可以将 HttpResponse
传递给 BasicResponseProducer
的构造函数。
例如在Http2FileServerExample问题中:
responseTrigger.submitResponse(new BasicResponseProducer(
HttpStatus.SC_OK, new FileEntityProducer(file, contentType)));
可以变成:
BasicHttpResponse response = new BasicHttpResponse(HttpStatus.SC_OK);
response.setHeader("Access-Control-Allow-Origin", "*");
responseTrigger.submitResponse(new BasicResponseProducer(
response, new FileEntityProducer(file, contentType)));
将 Apache httpcore 5 用于 java 时,AsyncServerRequestHandler 中的 handle() 方法如何将 headers 添加到响应中?
https://hc.apache.org/httpcomponents-core-5.0.x/examples.html such as https://hc.apache.org/httpcomponents-core-5.0.x/httpcore5-h2/examples/org/apache/hc/core5/http/examples/Http2FileServerExample.java 中有几个示例,但它们有些密集。
在旧的 httpcore <= 4 下你会做类似的事情
response.setHeader("Access-Control-Allow-Origin", "*")
但不清楚 httpcore 5 使用的许多间接层中哪一层是可以访问响应的层 headers,以及哪一层 object 具有与 setHeader 对应的方法。
您可以将 HttpResponse
传递给 BasicResponseProducer
的构造函数。
例如在Http2FileServerExample问题中:
responseTrigger.submitResponse(new BasicResponseProducer(
HttpStatus.SC_OK, new FileEntityProducer(file, contentType)));
可以变成:
BasicHttpResponse response = new BasicHttpResponse(HttpStatus.SC_OK);
response.setHeader("Access-Control-Allow-Origin", "*");
responseTrigger.submitResponse(new BasicResponseProducer(
response, new FileEntityProducer(file, contentType)));