51 lines
2.5 KiB
Java
51 lines
2.5 KiB
Java
package com.myoa.engineering.crawl.ppomppu.support.webclient.factory;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.myoa.engineering.crawl.ppomppu.support.util.ObjectMapperFactory;
|
|
|
|
import org.springframework.http.codec.json.Jackson2JsonDecoder;
|
|
import org.springframework.http.codec.json.Jackson2JsonEncoder;
|
|
import org.springframework.util.MimeTypeUtils;
|
|
import org.springframework.web.reactive.function.client.ExchangeStrategies;
|
|
|
|
/**
|
|
* WebFluxExchangeStragiesFactory
|
|
*
|
|
* @author Shin Woo-jin (woozu.shin@kakaoent.com)
|
|
* @since 2021-09-08
|
|
*/
|
|
public final class WebFluxExchangeStragiesFactory {
|
|
|
|
private WebFluxExchangeStragiesFactory() {}
|
|
|
|
public static ExchangeStrategies ofDefault() {
|
|
final ObjectMapper mapper = ObjectMapperFactory.defaultMapper();
|
|
return ExchangeStrategies.builder()
|
|
.codecs(configurer -> {
|
|
configurer.defaultCodecs().maxInMemorySize(-1);
|
|
configurer.defaultCodecs()
|
|
.jackson2JsonEncoder(new Jackson2JsonEncoder(mapper,
|
|
MimeTypeUtils.APPLICATION_JSON));
|
|
configurer.defaultCodecs()
|
|
.jackson2JsonDecoder(new Jackson2JsonDecoder(mapper,
|
|
MimeTypeUtils.APPLICATION_JSON));
|
|
})
|
|
.build();
|
|
}
|
|
public static ExchangeStrategies ofTextHtml() {
|
|
final ObjectMapper mapper = ObjectMapperFactory.defaultMapper();
|
|
return ExchangeStrategies.builder()
|
|
.codecs(configurer -> {
|
|
configurer.defaultCodecs().maxInMemorySize(-1);
|
|
configurer.defaultCodecs()
|
|
.jackson2JsonEncoder(new Jackson2JsonEncoder(mapper,
|
|
MimeTypeUtils.TEXT_HTML));
|
|
configurer.defaultCodecs()
|
|
.jackson2JsonDecoder(new Jackson2JsonDecoder(mapper,
|
|
MimeTypeUtils.TEXT_HTML));
|
|
})
|
|
.build();
|
|
}
|
|
|
|
}
|