@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
/ *
* Copyright 2002 - 2018 the original author or authors .
* Copyright 2002 - 2019 the original author or authors .
*
* Licensed under the Apache License , Version 2 . 0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
@ -25,9 +25,11 @@ import org.reactivestreams.Publisher;
@@ -25,9 +25,11 @@ import org.reactivestreams.Publisher;
import org.springframework.core.ParameterizedTypeReference ;
import org.springframework.core.ResolvableType ;
import org.springframework.core.ResolvableTypeProvider ;
import org.springframework.http.HttpEntity ;
import org.springframework.http.HttpHeaders ;
import org.springframework.http.MediaType ;
import org.springframework.lang.NonNull ;
import org.springframework.lang.Nullable ;
import org.springframework.util.Assert ;
import org.springframework.util.LinkedMultiValueMap ;
@ -263,13 +265,13 @@ public final class MultipartBodyBuilder {
@@ -263,13 +265,13 @@ public final class MultipartBodyBuilder {
* @param < T > the type contained in the publisher
* @param < P > the publisher
* /
public static final class PublisherEntity < T , P extends Publisher < T > > extends HttpEntity < P > {
public static final class PublisherEntity < T , P extends Publisher < T > > extends HttpEntity < P >
implements ResolvableTypeProvider {
private final ResolvableType resolvableType ;
private PublisherEntity ( @Nullable MultiValueMap < String , String > headers , P publisher ,
ResolvableType resolvableType ) {
PublisherEntity (
@Nullable MultiValueMap < String , String > headers , P publisher , ResolvableType resolvableType ) {
super ( publisher , headers ) ;
Assert . notNull ( publisher , "'publisher' must not be null" ) ;
@ -280,6 +282,8 @@ public final class MultipartBodyBuilder {
@@ -280,6 +282,8 @@ public final class MultipartBodyBuilder {
/ * *
* Return the element type for the { @code Publisher } body .
* /
@Override
@NonNull
public ResolvableType getResolvableType ( ) {
return this . resolvableType ;
}