Dad*_*ism 3 response-headers reactor-netty spring-webflux
有什么方法可以配置响应的最大标头大小吗?
我从 netty 框架收到以下错误:
io.netty.handler.codec.TooLongFrameException: HTTP header is larger than 8192 bytes.
at io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.newException(HttpObjectDecoder.java:983)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Run Code Online (Sandbox Code Playgroud)
显然reactor为此添加了一个API,但我不知道这在spring Web Flux的WebClient中是如何控制的。我正在使用以下版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>2.3.2.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以将反应器配置reactor.netty.http.client.HttpClient为自定义maxHeaderSize并将其插入HttpClient到您的 WebClient 实例中。
HttpClient httpClient =
HttpClient.create().httpResponseDecoder(spec -> spec.maxHeaderSize(32 * 1024));
WebClient webClient =
WebClient.builder().clientConnector(new ReactorClientHttpConnector(httpClient))
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5094 次 |
| 最近记录: |