Upgrade feign to 10.7.4. (#292)

This commit is contained in:
Olga Maciaszek-Sharma
2020-02-05 14:37:35 +01:00
committed by GitHub
parent eca40256d8
commit c82b577d00
8 changed files with 28 additions and 33 deletions

View File

@@ -73,8 +73,8 @@ public class FeignBlockingLoadBalancerClient implements Client {
String reconstructedUrl = loadBalancerClient.reconstructURI(instance, originalUri)
.toString();
Request newRequest = Request.create(request.httpMethod(), reconstructedUrl,
request.headers(), request.requestBody().asBytes(), request.charset());
request.headers(), request.body(), request.charset(),
request.requestTemplate());
return delegate.execute(newRequest, options);
}

View File

@@ -134,7 +134,7 @@ public class FeignLoadBalancer extends
Map<String, Collection<String>> headers = new LinkedHashMap<>(
request.headers());
return Request.create(request.httpMethod(), getUri().toASCIIString(), headers,
request.requestBody().asBytes(), request.charset());
request.body(), request.charset(), request.requestTemplate());
}
Request toRequest() {

View File

@@ -24,7 +24,6 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import feign.Request;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import feign.RetryableException;
@@ -52,7 +51,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
import static org.springframework.boot.test.context.SpringBootTest.WebEnvironment.RANDOM_PORT;
@@ -260,7 +258,7 @@ public class FeignClientUsingPropertiesTests {
requestTemplate.header(HttpHeaders.CONTENT_TYPE,
MediaType.APPLICATION_FORM_URLENCODED_VALUE);
requestTemplate.body(Request.Body.bodyTemplate(builder.toString(), UTF_8));
requestTemplate.body(builder.toString());
}
}

View File

@@ -121,7 +121,7 @@ class FeignBlockingLoadBalancerClientTests {
assertThat(actualRequest.headers()).hasSize(1);
assertThat(actualRequest.headers()).containsEntry(HttpHeaders.CONTENT_TYPE,
Collections.singletonList(MediaType.APPLICATION_JSON_VALUE));
assertThat(actualRequest.requestBody().asString()).isEqualTo("hello");
assertThat(new String(actualRequest.body())).isEqualTo("hello");
}
private Request testRequest() {
@@ -130,7 +130,7 @@ class FeignBlockingLoadBalancerClientTests {
private Request testRequest(String host) {
return Request.create(Request.HttpMethod.GET, "http://" + host + "/path",
testHeaders(), "hello".getBytes(), StandardCharsets.UTF_8);
testHeaders(), "hello".getBytes(), StandardCharsets.UTF_8, null);
}
private Map<String, Collection<String>> testHeaders() {

View File

@@ -133,7 +133,7 @@ public class RetryableFeignLoadBalancerTests {
RibbonLoadBalancedRetryFactory loadBalancedRetryFactory = new RibbonLoadBalancedRetryFactory(
clientFactory);
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -151,7 +151,7 @@ public class RetryableFeignLoadBalancerTests {
@Test
public void executeNeverRetry() throws Exception {
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -215,7 +215,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -260,7 +260,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -310,7 +310,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -339,7 +339,7 @@ public class RetryableFeignLoadBalancerTests {
RibbonLoadBalancedRetryFactory loadBalancedRetryFactory = new RibbonLoadBalancedRetryFactory(
clientFactory);
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -365,7 +365,7 @@ public class RetryableFeignLoadBalancerTests {
RibbonLoadBalancedRetryFactory loadBalancedRetryFactory = new RibbonLoadBalancedRetryFactory(
clientFactory);
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));
@@ -446,7 +446,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://listener", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://listener"));
@@ -498,7 +498,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://listener", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://listener"));
@@ -535,7 +535,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://listener", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://listener"));
@@ -580,7 +580,7 @@ public class RetryableFeignLoadBalancerTests {
}
};
Request feignRequest = Request.create(GET, "https://foo", new HashMap<>(),
new byte[] {}, UTF_8);
new byte[] {}, UTF_8, null);
Client client = mock(Client.class);
FeignLoadBalancer.RibbonRequest request = new FeignLoadBalancer.RibbonRequest(
client, feignRequest, new URI("https://foo"));

View File

@@ -49,7 +49,7 @@ public class RibbonResponseStatusCodeExceptionTest {
fooValues.add("bar");
headers.put("foo", fooValues);
Request request = Request.create(GET, "https://service.com", new HashMap<>(),
new byte[] {}, Charset.defaultCharset());
new byte[] {}, Charset.defaultCharset(), null);
byte[] body = "foo".getBytes();
ByteArrayInputStream is = new ByteArrayInputStream(body);
Response response = Response.builder().status(200).reason("Success")

View File

@@ -59,10 +59,8 @@ import org.springframework.web.multipart.MultipartFile;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY;
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assume.assumeTrue;
import static org.springframework.web.util.UriUtils.encode;
/**
* @author chadjaros
@@ -249,7 +247,7 @@ public class SpringMvcContractTests {
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url())
.isEqualTo("/advanced/test/{id}?amount=" + encode("{amount}", UTF_8));
.isEqualTo("/advanced/test/{id}?amount=" + "{amount}");
assertThat(data.template().method()).isEqualTo("PUT");
assertThat(data.template().headers().get("Accept").iterator().next())
.isEqualTo(MediaType.APPLICATION_JSON_VALUE);
@@ -273,7 +271,7 @@ public class SpringMvcContractTests {
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url())
.isEqualTo("/advanced/test/{id}?amount=" + encode("{amount}", UTF_8));
.isEqualTo("/advanced/test/{id}?amount=" + "{amount}");
assertThat(data.template().method()).isEqualTo("PUT");
assertThat(data.template().headers().get("Accept").iterator().next())
.isEqualTo(MediaType.APPLICATION_JSON_VALUE);
@@ -298,7 +296,7 @@ public class SpringMvcContractTests {
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url())
.isEqualTo("/advanced/test2?amount=" + encode("{amount}", UTF_8));
.isEqualTo("/advanced/test2?amount=" + "{amount}");
assertThat(data.template().method()).isEqualTo("PUT");
assertThat(data.template().headers().get("Accept").iterator().next())
.isEqualTo(MediaType.APPLICATION_JSON_VALUE);
@@ -385,7 +383,7 @@ public class SpringMvcContractTests {
MethodMetadata data = this.contract
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url()).isEqualTo("/test?id=" + encode("{id}", UTF_8));
assertThat(data.template().url()).isEqualTo("/test?id=" + "{id}");
assertThat(data.template().method()).isEqualTo("GET");
assertThat(data.template().queries().get("id").toString()).isEqualTo("[{id}]");
assertThat(data.indexToExpander().get(0)).isNotNull();
@@ -398,7 +396,7 @@ public class SpringMvcContractTests {
MethodMetadata data = this.contract
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url()).isEqualTo("/test?id=" + encode("{id}", UTF_8));
assertThat(data.template().url()).isEqualTo("/test?id=" + "{id}");
assertThat(data.template().method()).isEqualTo("GET");
assertThat(data.template().queries().get("id").toString()).isEqualTo("[{id}]");
assertThat(data.indexToExpander().get(0)).isNotNull();
@@ -453,8 +451,8 @@ public class SpringMvcContractTests {
MethodMetadata data = this.contract
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url()).isEqualTo(
"/advanced/testfallback/{id}?amount=" + encode("{amount}", UTF_8));
assertThat(data.template().url())
.isEqualTo("/advanced/testfallback/{id}?amount=" + "{amount}");
assertThat(data.template().method()).isEqualTo("PUT");
assertThat(data.template().headers().get("Accept").iterator().next())
.isEqualTo(MediaType.APPLICATION_JSON_VALUE);
@@ -498,8 +496,7 @@ public class SpringMvcContractTests {
MethodMetadata data = this.contract
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url())
.isEqualTo("/queryMap?aParam=" + encode("{aParam}", UTF_8));
assertThat(data.template().url()).isEqualTo("/queryMap?aParam=" + "{aParam}");
assertThat(data.template().method()).isEqualTo("GET");
assertThat(data.queryMapIndex().intValue()).isEqualTo(0);
Map<String, Collection<String>> params = data.template().queries();
@@ -514,7 +511,7 @@ public class SpringMvcContractTests {
.parseAndValidateMetadata(method.getDeclaringClass(), method);
assertThat(data.template().url())
.isEqualTo("/queryMapObject?aParam=" + encode("{aParam}", UTF_8));
.isEqualTo("/queryMapObject?aParam=" + "{aParam}");
assertThat(data.template().method()).isEqualTo("GET");
assertThat(data.queryMapIndex().intValue()).isEqualTo(0);
Map<String, Collection<String>> params = data.template().queries();

View File

@@ -15,7 +15,7 @@
<name>spring-cloud-openfeign-dependencies</name>
<description>Spring Cloud OpenFeign Dependencies</description>
<properties>
<feign.version>10.7.0</feign.version>
<feign.version>10.7.4</feign.version>
<feign-form.version>3.8.0</feign-form.version>
</properties>
<dependencyManagement>