Fix spring.codec.max-in-memory-size configuration is invalid for ReadBodyPredicateFactory. Fixes # 1658 (#1686)

* Fix spring.codec.max-in-memory-size configuration is invalid for ReadBodyPredicateFactory. 

Co-authored-by: huangluob <huangluob@newland.com.cn>

Fixes gh-1658
This commit is contained in:
tooSun
2020-05-20 04:06:36 +08:00
committed by GitHub
parent e0b4d7e321
commit eedcceee20
2 changed files with 9 additions and 4 deletions

View File

@@ -394,8 +394,8 @@ public class GatewayAutoConfiguration {
}
@Bean
public ReadBodyPredicateFactory readBodyPredicateFactory() {
return new ReadBodyPredicateFactory();
public ReadBodyPredicateFactory readBodyPredicateFactory(ServerCodecConfigurer codecConfigurer) {
return new ReadBodyPredicateFactory(codecConfigurer.getReaders());
}
@Bean

View File

@@ -46,11 +46,16 @@ public class ReadBodyPredicateFactory
private static final String CACHE_REQUEST_BODY_OBJECT_KEY = "cachedRequestBodyObject";
private static final List<HttpMessageReader<?>> messageReaders = HandlerStrategies
.withDefaults().messageReaders();
private final List<HttpMessageReader<?>> messageReaders;
public ReadBodyPredicateFactory() {
super(Config.class);
this.messageReaders = HandlerStrategies.withDefaults().messageReaders();
}
public ReadBodyPredicateFactory(List<HttpMessageReader<?>> messageReaders) {
super(Config.class);
this.messageReaders = messageReaders;
}
@Override