Add multipart support to WebFlux functional API
Issue: SPR-14546
This commit is contained in:
@@ -21,6 +21,7 @@ import java.util.List;
|
||||
import org.springframework.core.codec.Decoder;
|
||||
import org.springframework.core.codec.StringDecoder;
|
||||
import org.springframework.http.codec.json.Jackson2JsonDecoder;
|
||||
import org.springframework.http.codec.multipart.MultipartHttpMessageWriter;
|
||||
|
||||
/**
|
||||
* Default implementation of {@link ClientCodecConfigurer}.
|
||||
@@ -57,6 +58,7 @@ class DefaultClientCodecConfigurer extends DefaultCodecConfigurer implements Cli
|
||||
protected void addTypedWritersTo(List<HttpMessageWriter<?>> result) {
|
||||
super.addTypedWritersTo(result);
|
||||
addWriterTo(result, FormHttpMessageWriter::new);
|
||||
addWriterTo(result, MultipartHttpMessageWriter::new);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -21,6 +21,8 @@ import java.util.List;
|
||||
import org.springframework.core.codec.Encoder;
|
||||
import org.springframework.core.codec.StringDecoder;
|
||||
import org.springframework.http.codec.json.Jackson2JsonEncoder;
|
||||
import org.springframework.http.codec.multipart.SynchronossMultipartHttpMessageReader;
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
/**
|
||||
* Default implementation of {@link ServerCodecConfigurer}.
|
||||
@@ -30,6 +32,11 @@ import org.springframework.http.codec.json.Jackson2JsonEncoder;
|
||||
*/
|
||||
class DefaultServerCodecConfigurer extends DefaultCodecConfigurer implements ServerCodecConfigurer {
|
||||
|
||||
static final boolean synchronossMultipartPresent =
|
||||
ClassUtils.isPresent("org.synchronoss.cloud.nio.multipart.NioMultipartParser",
|
||||
org.springframework.http.codec.DefaultCodecConfigurer.class.getClassLoader());
|
||||
|
||||
|
||||
public DefaultServerCodecConfigurer() {
|
||||
super(new DefaultServerDefaultCodecsConfigurer());
|
||||
}
|
||||
@@ -57,6 +64,9 @@ class DefaultServerCodecConfigurer extends DefaultCodecConfigurer implements Ser
|
||||
public void addTypedReadersTo(List<HttpMessageReader<?>> result) {
|
||||
super.addTypedReadersTo(result);
|
||||
addReaderTo(result, FormHttpMessageReader::new);
|
||||
if (synchronossMultipartPresent) {
|
||||
addReaderTo(result, SynchronossMultipartHttpMessageReader::new);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user