From 78e4cb4410f28d0f1d01fdb7f929407ca516494b Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 12 Sep 2017 17:50:46 -0600 Subject: [PATCH 1/5] Fix for potential NPE --- .../cloud/netflix/zuul/util/RequestContentDataExtractor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/util/RequestContentDataExtractor.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/util/RequestContentDataExtractor.java index b2aad040..a6efb16d 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/util/RequestContentDataExtractor.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/util/RequestContentDataExtractor.java @@ -31,7 +31,7 @@ public class RequestContentDataExtractor { for (Entry entry : request.getParameterMap().entrySet()) { String key = entry.getKey(); - if (!queryParams.contains(key)) { + if (!queryParams.contains(key) && entry.getValue() != null) { for (String value : entry.getValue()) { builder.add(key, value); } From c1fc987d9669b1d8eb127fe6a1b97b734988c962 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 2 Oct 2017 16:17:55 -0400 Subject: [PATCH 2/5] Update SNAPSHOT to 1.3.5.RELEASE --- docs/pom.xml | 2 +- pom.xml | 10 +++++----- spring-cloud-netflix-core/pom.xml | 2 +- spring-cloud-netflix-dependencies/pom.xml | 4 ++-- spring-cloud-netflix-eureka-client/pom.xml | 2 +- spring-cloud-netflix-eureka-server/pom.xml | 2 +- spring-cloud-netflix-hystrix-amqp/pom.xml | 2 +- spring-cloud-netflix-hystrix-dashboard/pom.xml | 2 +- spring-cloud-netflix-hystrix-stream/pom.xml | 2 +- spring-cloud-netflix-sidecar/pom.xml | 2 +- spring-cloud-netflix-spectator/pom.xml | 2 +- spring-cloud-netflix-turbine-stream/pom.xml | 2 +- spring-cloud-netflix-turbine/pom.xml | 2 +- spring-cloud-starter-archaius/pom.xml | 2 +- spring-cloud-starter-atlas/pom.xml | 2 +- spring-cloud-starter-eureka-server/pom.xml | 2 +- spring-cloud-starter-eureka/pom.xml | 2 +- spring-cloud-starter-feign/pom.xml | 2 +- spring-cloud-starter-hystrix-dashboard/pom.xml | 2 +- spring-cloud-starter-hystrix/pom.xml | 2 +- spring-cloud-starter-ribbon/pom.xml | 2 +- spring-cloud-starter-spectator/pom.xml | 2 +- spring-cloud-starter-turbine-amqp/pom.xml | 2 +- spring-cloud-starter-turbine-stream/pom.xml | 2 +- spring-cloud-starter-turbine/pom.xml | 2 +- spring-cloud-starter-zuul/pom.xml | 2 +- 26 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index ab0b3972..0963a53a 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE spring-cloud-netflix-docs pom diff --git a/pom.xml b/pom.xml index e1b8568d..50562778 100644 --- a/pom.xml +++ b/pom.xml @@ -3,14 +3,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE pom Spring Cloud Netflix Spring Cloud Netflix org.springframework.cloud spring-cloud-build - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE @@ -24,9 +24,9 @@ ${basedir} 4.0.27.Final 2.7.3 - 1.2.4.BUILD-SNAPSHOT - 1.3.3.BUILD-SNAPSHOT - Chelsea.BUILD-SNAPSHOT + 1.2.4.RELEASE + 1.3.3.RELEASE + Chelsea.SR2 2.19.1 diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml index 88703986..630c9d08 100644 --- a/spring-cloud-netflix-core/pom.xml +++ b/spring-cloud-netflix-core/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-core diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index 3fdf1081..b84e0d65 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE spring-cloud-netflix-dependencies - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE pom spring-cloud-netflix-dependencies Spring Cloud Netflix Dependencies diff --git a/spring-cloud-netflix-eureka-client/pom.xml b/spring-cloud-netflix-eureka-client/pom.xml index 56729532..f7609ff6 100644 --- a/spring-cloud-netflix-eureka-client/pom.xml +++ b/spring-cloud-netflix-eureka-client/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-eureka-client diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml index 40d53f8b..5892672e 100644 --- a/spring-cloud-netflix-eureka-server/pom.xml +++ b/spring-cloud-netflix-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-eureka-server diff --git a/spring-cloud-netflix-hystrix-amqp/pom.xml b/spring-cloud-netflix-hystrix-amqp/pom.xml index 794af617..b738bbb0 100644 --- a/spring-cloud-netflix-hystrix-amqp/pom.xml +++ b/spring-cloud-netflix-hystrix-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-hystrix-amqp diff --git a/spring-cloud-netflix-hystrix-dashboard/pom.xml b/spring-cloud-netflix-hystrix-dashboard/pom.xml index 15019fc3..10c3ec5a 100644 --- a/spring-cloud-netflix-hystrix-dashboard/pom.xml +++ b/spring-cloud-netflix-hystrix-dashboard/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. diff --git a/spring-cloud-netflix-hystrix-stream/pom.xml b/spring-cloud-netflix-hystrix-stream/pom.xml index 767f5405..f67bae4d 100644 --- a/spring-cloud-netflix-hystrix-stream/pom.xml +++ b/spring-cloud-netflix-hystrix-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-hystrix-stream diff --git a/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud-netflix-sidecar/pom.xml index 2d101b52..06a172df 100644 --- a/spring-cloud-netflix-sidecar/pom.xml +++ b/spring-cloud-netflix-sidecar/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-sidecar diff --git a/spring-cloud-netflix-spectator/pom.xml b/spring-cloud-netflix-spectator/pom.xml index e2f61c97..ce97178b 100644 --- a/spring-cloud-netflix-spectator/pom.xml +++ b/spring-cloud-netflix-spectator/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-spectator diff --git a/spring-cloud-netflix-turbine-stream/pom.xml b/spring-cloud-netflix-turbine-stream/pom.xml index 3cba1893..fa01e6c6 100644 --- a/spring-cloud-netflix-turbine-stream/pom.xml +++ b/spring-cloud-netflix-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-turbine-stream diff --git a/spring-cloud-netflix-turbine/pom.xml b/spring-cloud-netflix-turbine/pom.xml index a67f868b..d297fdea 100644 --- a/spring-cloud-netflix-turbine/pom.xml +++ b/spring-cloud-netflix-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-netflix-turbine diff --git a/spring-cloud-starter-archaius/pom.xml b/spring-cloud-starter-archaius/pom.xml index d308a620..77f9dd02 100644 --- a/spring-cloud-starter-archaius/pom.xml +++ b/spring-cloud-starter-archaius/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-archaius diff --git a/spring-cloud-starter-atlas/pom.xml b/spring-cloud-starter-atlas/pom.xml index 81d17289..3b578bbb 100644 --- a/spring-cloud-starter-atlas/pom.xml +++ b/spring-cloud-starter-atlas/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-atlas diff --git a/spring-cloud-starter-eureka-server/pom.xml b/spring-cloud-starter-eureka-server/pom.xml index a6ab7a5e..0b3c4d23 100644 --- a/spring-cloud-starter-eureka-server/pom.xml +++ b/spring-cloud-starter-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-eureka-server diff --git a/spring-cloud-starter-eureka/pom.xml b/spring-cloud-starter-eureka/pom.xml index 4844e432..aaabe67e 100644 --- a/spring-cloud-starter-eureka/pom.xml +++ b/spring-cloud-starter-eureka/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-eureka diff --git a/spring-cloud-starter-feign/pom.xml b/spring-cloud-starter-feign/pom.xml index d63add76..7f4d4446 100644 --- a/spring-cloud-starter-feign/pom.xml +++ b/spring-cloud-starter-feign/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-feign diff --git a/spring-cloud-starter-hystrix-dashboard/pom.xml b/spring-cloud-starter-hystrix-dashboard/pom.xml index 34c5c9b2..49e54a36 100644 --- a/spring-cloud-starter-hystrix-dashboard/pom.xml +++ b/spring-cloud-starter-hystrix-dashboard/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-hystrix-dashboard diff --git a/spring-cloud-starter-hystrix/pom.xml b/spring-cloud-starter-hystrix/pom.xml index 9698779e..902791ef 100644 --- a/spring-cloud-starter-hystrix/pom.xml +++ b/spring-cloud-starter-hystrix/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-hystrix diff --git a/spring-cloud-starter-ribbon/pom.xml b/spring-cloud-starter-ribbon/pom.xml index 4c90376f..ef41ea1c 100644 --- a/spring-cloud-starter-ribbon/pom.xml +++ b/spring-cloud-starter-ribbon/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-ribbon diff --git a/spring-cloud-starter-spectator/pom.xml b/spring-cloud-starter-spectator/pom.xml index 4c8d90a8..9c9c2cdb 100644 --- a/spring-cloud-starter-spectator/pom.xml +++ b/spring-cloud-starter-spectator/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-spectator diff --git a/spring-cloud-starter-turbine-amqp/pom.xml b/spring-cloud-starter-turbine-amqp/pom.xml index 3803465e..e314ae7e 100644 --- a/spring-cloud-starter-turbine-amqp/pom.xml +++ b/spring-cloud-starter-turbine-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-turbine-amqp diff --git a/spring-cloud-starter-turbine-stream/pom.xml b/spring-cloud-starter-turbine-stream/pom.xml index 6eb8c20a..8f83bbd1 100644 --- a/spring-cloud-starter-turbine-stream/pom.xml +++ b/spring-cloud-starter-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-turbine-stream diff --git a/spring-cloud-starter-turbine/pom.xml b/spring-cloud-starter-turbine/pom.xml index 1e011757..ef4edb43 100644 --- a/spring-cloud-starter-turbine/pom.xml +++ b/spring-cloud-starter-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-turbine diff --git a/spring-cloud-starter-zuul/pom.xml b/spring-cloud-starter-zuul/pom.xml index c00c924c..9e8f5271 100644 --- a/spring-cloud-starter-zuul/pom.xml +++ b/spring-cloud-starter-zuul/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.5.RELEASE .. spring-cloud-starter-zuul From 74fc02b2cc0c92c077d9f5d20262f21da41b6830 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 2 Oct 2017 16:22:48 -0400 Subject: [PATCH 3/5] Going back to snapshots --- docs/pom.xml | 2 +- pom.xml | 10 +++++----- spring-cloud-netflix-core/pom.xml | 2 +- spring-cloud-netflix-dependencies/pom.xml | 4 ++-- spring-cloud-netflix-eureka-client/pom.xml | 2 +- spring-cloud-netflix-eureka-server/pom.xml | 2 +- spring-cloud-netflix-hystrix-amqp/pom.xml | 2 +- spring-cloud-netflix-hystrix-dashboard/pom.xml | 2 +- spring-cloud-netflix-hystrix-stream/pom.xml | 2 +- spring-cloud-netflix-sidecar/pom.xml | 2 +- spring-cloud-netflix-spectator/pom.xml | 2 +- spring-cloud-netflix-turbine-stream/pom.xml | 2 +- spring-cloud-netflix-turbine/pom.xml | 2 +- spring-cloud-starter-archaius/pom.xml | 2 +- spring-cloud-starter-atlas/pom.xml | 2 +- spring-cloud-starter-eureka-server/pom.xml | 2 +- spring-cloud-starter-eureka/pom.xml | 2 +- spring-cloud-starter-feign/pom.xml | 2 +- spring-cloud-starter-hystrix-dashboard/pom.xml | 2 +- spring-cloud-starter-hystrix/pom.xml | 2 +- spring-cloud-starter-ribbon/pom.xml | 2 +- spring-cloud-starter-spectator/pom.xml | 2 +- spring-cloud-starter-turbine-amqp/pom.xml | 2 +- spring-cloud-starter-turbine-stream/pom.xml | 2 +- spring-cloud-starter-turbine/pom.xml | 2 +- spring-cloud-starter-zuul/pom.xml | 2 +- 26 files changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index 0963a53a..ab0b3972 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT spring-cloud-netflix-docs pom diff --git a/pom.xml b/pom.xml index 50562778..e1b8568d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,14 +3,14 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT pom Spring Cloud Netflix Spring Cloud Netflix org.springframework.cloud spring-cloud-build - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT @@ -24,9 +24,9 @@ ${basedir} 4.0.27.Final 2.7.3 - 1.2.4.RELEASE - 1.3.3.RELEASE - Chelsea.SR2 + 1.2.4.BUILD-SNAPSHOT + 1.3.3.BUILD-SNAPSHOT + Chelsea.BUILD-SNAPSHOT 2.19.1 diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml index 630c9d08..88703986 100644 --- a/spring-cloud-netflix-core/pom.xml +++ b/spring-cloud-netflix-core/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-core diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index b84e0d65..3fdf1081 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -5,11 +5,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT spring-cloud-netflix-dependencies - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT pom spring-cloud-netflix-dependencies Spring Cloud Netflix Dependencies diff --git a/spring-cloud-netflix-eureka-client/pom.xml b/spring-cloud-netflix-eureka-client/pom.xml index f7609ff6..56729532 100644 --- a/spring-cloud-netflix-eureka-client/pom.xml +++ b/spring-cloud-netflix-eureka-client/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-eureka-client diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml index 5892672e..40d53f8b 100644 --- a/spring-cloud-netflix-eureka-server/pom.xml +++ b/spring-cloud-netflix-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-eureka-server diff --git a/spring-cloud-netflix-hystrix-amqp/pom.xml b/spring-cloud-netflix-hystrix-amqp/pom.xml index b738bbb0..794af617 100644 --- a/spring-cloud-netflix-hystrix-amqp/pom.xml +++ b/spring-cloud-netflix-hystrix-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-hystrix-amqp diff --git a/spring-cloud-netflix-hystrix-dashboard/pom.xml b/spring-cloud-netflix-hystrix-dashboard/pom.xml index 10c3ec5a..15019fc3 100644 --- a/spring-cloud-netflix-hystrix-dashboard/pom.xml +++ b/spring-cloud-netflix-hystrix-dashboard/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. diff --git a/spring-cloud-netflix-hystrix-stream/pom.xml b/spring-cloud-netflix-hystrix-stream/pom.xml index f67bae4d..767f5405 100644 --- a/spring-cloud-netflix-hystrix-stream/pom.xml +++ b/spring-cloud-netflix-hystrix-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-hystrix-stream diff --git a/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud-netflix-sidecar/pom.xml index 06a172df..2d101b52 100644 --- a/spring-cloud-netflix-sidecar/pom.xml +++ b/spring-cloud-netflix-sidecar/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-sidecar diff --git a/spring-cloud-netflix-spectator/pom.xml b/spring-cloud-netflix-spectator/pom.xml index ce97178b..e2f61c97 100644 --- a/spring-cloud-netflix-spectator/pom.xml +++ b/spring-cloud-netflix-spectator/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-spectator diff --git a/spring-cloud-netflix-turbine-stream/pom.xml b/spring-cloud-netflix-turbine-stream/pom.xml index fa01e6c6..3cba1893 100644 --- a/spring-cloud-netflix-turbine-stream/pom.xml +++ b/spring-cloud-netflix-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-turbine-stream diff --git a/spring-cloud-netflix-turbine/pom.xml b/spring-cloud-netflix-turbine/pom.xml index d297fdea..a67f868b 100644 --- a/spring-cloud-netflix-turbine/pom.xml +++ b/spring-cloud-netflix-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-netflix-turbine diff --git a/spring-cloud-starter-archaius/pom.xml b/spring-cloud-starter-archaius/pom.xml index 77f9dd02..d308a620 100644 --- a/spring-cloud-starter-archaius/pom.xml +++ b/spring-cloud-starter-archaius/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-archaius diff --git a/spring-cloud-starter-atlas/pom.xml b/spring-cloud-starter-atlas/pom.xml index 3b578bbb..81d17289 100644 --- a/spring-cloud-starter-atlas/pom.xml +++ b/spring-cloud-starter-atlas/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-atlas diff --git a/spring-cloud-starter-eureka-server/pom.xml b/spring-cloud-starter-eureka-server/pom.xml index 0b3c4d23..a6ab7a5e 100644 --- a/spring-cloud-starter-eureka-server/pom.xml +++ b/spring-cloud-starter-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-eureka-server diff --git a/spring-cloud-starter-eureka/pom.xml b/spring-cloud-starter-eureka/pom.xml index aaabe67e..4844e432 100644 --- a/spring-cloud-starter-eureka/pom.xml +++ b/spring-cloud-starter-eureka/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-eureka diff --git a/spring-cloud-starter-feign/pom.xml b/spring-cloud-starter-feign/pom.xml index 7f4d4446..d63add76 100644 --- a/spring-cloud-starter-feign/pom.xml +++ b/spring-cloud-starter-feign/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-feign diff --git a/spring-cloud-starter-hystrix-dashboard/pom.xml b/spring-cloud-starter-hystrix-dashboard/pom.xml index 49e54a36..34c5c9b2 100644 --- a/spring-cloud-starter-hystrix-dashboard/pom.xml +++ b/spring-cloud-starter-hystrix-dashboard/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-hystrix-dashboard diff --git a/spring-cloud-starter-hystrix/pom.xml b/spring-cloud-starter-hystrix/pom.xml index 902791ef..9698779e 100644 --- a/spring-cloud-starter-hystrix/pom.xml +++ b/spring-cloud-starter-hystrix/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-hystrix diff --git a/spring-cloud-starter-ribbon/pom.xml b/spring-cloud-starter-ribbon/pom.xml index ef41ea1c..4c90376f 100644 --- a/spring-cloud-starter-ribbon/pom.xml +++ b/spring-cloud-starter-ribbon/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-ribbon diff --git a/spring-cloud-starter-spectator/pom.xml b/spring-cloud-starter-spectator/pom.xml index 9c9c2cdb..4c8d90a8 100644 --- a/spring-cloud-starter-spectator/pom.xml +++ b/spring-cloud-starter-spectator/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-spectator diff --git a/spring-cloud-starter-turbine-amqp/pom.xml b/spring-cloud-starter-turbine-amqp/pom.xml index e314ae7e..3803465e 100644 --- a/spring-cloud-starter-turbine-amqp/pom.xml +++ b/spring-cloud-starter-turbine-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-turbine-amqp diff --git a/spring-cloud-starter-turbine-stream/pom.xml b/spring-cloud-starter-turbine-stream/pom.xml index 8f83bbd1..6eb8c20a 100644 --- a/spring-cloud-starter-turbine-stream/pom.xml +++ b/spring-cloud-starter-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-turbine-stream diff --git a/spring-cloud-starter-turbine/pom.xml b/spring-cloud-starter-turbine/pom.xml index ef4edb43..1e011757 100644 --- a/spring-cloud-starter-turbine/pom.xml +++ b/spring-cloud-starter-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-turbine diff --git a/spring-cloud-starter-zuul/pom.xml b/spring-cloud-starter-zuul/pom.xml index 9e8f5271..c00c924c 100644 --- a/spring-cloud-starter-zuul/pom.xml +++ b/spring-cloud-starter-zuul/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.RELEASE + 1.3.5.BUILD-SNAPSHOT .. spring-cloud-starter-zuul From a806dc920fa2575cbd490f3c8e17ed9b232c4294 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 2 Oct 2017 16:22:49 -0400 Subject: [PATCH 4/5] Bumping versions to 1.3.6.BUILD-SNAPSHOT after release --- docs/pom.xml | 2 +- pom.xml | 2 +- spring-cloud-netflix-core/pom.xml | 2 +- spring-cloud-netflix-dependencies/pom.xml | 2 +- spring-cloud-netflix-eureka-client/pom.xml | 2 +- spring-cloud-netflix-eureka-server/pom.xml | 2 +- spring-cloud-netflix-hystrix-amqp/pom.xml | 2 +- spring-cloud-netflix-hystrix-dashboard/pom.xml | 2 +- spring-cloud-netflix-hystrix-stream/pom.xml | 2 +- spring-cloud-netflix-sidecar/pom.xml | 2 +- spring-cloud-netflix-spectator/pom.xml | 2 +- spring-cloud-netflix-turbine-stream/pom.xml | 2 +- spring-cloud-netflix-turbine/pom.xml | 2 +- spring-cloud-starter-archaius/pom.xml | 2 +- spring-cloud-starter-atlas/pom.xml | 2 +- spring-cloud-starter-eureka-server/pom.xml | 2 +- spring-cloud-starter-eureka/pom.xml | 2 +- spring-cloud-starter-feign/pom.xml | 2 +- spring-cloud-starter-hystrix-dashboard/pom.xml | 2 +- spring-cloud-starter-hystrix/pom.xml | 2 +- spring-cloud-starter-ribbon/pom.xml | 2 +- spring-cloud-starter-spectator/pom.xml | 2 +- spring-cloud-starter-turbine-amqp/pom.xml | 2 +- spring-cloud-starter-turbine-stream/pom.xml | 2 +- spring-cloud-starter-turbine/pom.xml | 2 +- spring-cloud-starter-zuul/pom.xml | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/pom.xml b/docs/pom.xml index ab0b3972..96257d75 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT spring-cloud-netflix-docs pom diff --git a/pom.xml b/pom.xml index e1b8568d..2a22e33a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT pom Spring Cloud Netflix Spring Cloud Netflix diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml index 88703986..45721107 100644 --- a/spring-cloud-netflix-core/pom.xml +++ b/spring-cloud-netflix-core/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-core diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index 3fdf1081..80a9bfff 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -9,7 +9,7 @@ spring-cloud-netflix-dependencies - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT pom spring-cloud-netflix-dependencies Spring Cloud Netflix Dependencies diff --git a/spring-cloud-netflix-eureka-client/pom.xml b/spring-cloud-netflix-eureka-client/pom.xml index 56729532..18bd44a9 100644 --- a/spring-cloud-netflix-eureka-client/pom.xml +++ b/spring-cloud-netflix-eureka-client/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-eureka-client diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml index 40d53f8b..d5636ed2 100644 --- a/spring-cloud-netflix-eureka-server/pom.xml +++ b/spring-cloud-netflix-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-eureka-server diff --git a/spring-cloud-netflix-hystrix-amqp/pom.xml b/spring-cloud-netflix-hystrix-amqp/pom.xml index 794af617..ae4d0d38 100644 --- a/spring-cloud-netflix-hystrix-amqp/pom.xml +++ b/spring-cloud-netflix-hystrix-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-hystrix-amqp diff --git a/spring-cloud-netflix-hystrix-dashboard/pom.xml b/spring-cloud-netflix-hystrix-dashboard/pom.xml index 15019fc3..a0e92e54 100644 --- a/spring-cloud-netflix-hystrix-dashboard/pom.xml +++ b/spring-cloud-netflix-hystrix-dashboard/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. diff --git a/spring-cloud-netflix-hystrix-stream/pom.xml b/spring-cloud-netflix-hystrix-stream/pom.xml index 767f5405..5bfb3098 100644 --- a/spring-cloud-netflix-hystrix-stream/pom.xml +++ b/spring-cloud-netflix-hystrix-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-hystrix-stream diff --git a/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud-netflix-sidecar/pom.xml index 2d101b52..899da6e4 100644 --- a/spring-cloud-netflix-sidecar/pom.xml +++ b/spring-cloud-netflix-sidecar/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-sidecar diff --git a/spring-cloud-netflix-spectator/pom.xml b/spring-cloud-netflix-spectator/pom.xml index e2f61c97..790efd52 100644 --- a/spring-cloud-netflix-spectator/pom.xml +++ b/spring-cloud-netflix-spectator/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-spectator diff --git a/spring-cloud-netflix-turbine-stream/pom.xml b/spring-cloud-netflix-turbine-stream/pom.xml index 3cba1893..82dd1ccd 100644 --- a/spring-cloud-netflix-turbine-stream/pom.xml +++ b/spring-cloud-netflix-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-turbine-stream diff --git a/spring-cloud-netflix-turbine/pom.xml b/spring-cloud-netflix-turbine/pom.xml index a67f868b..190de426 100644 --- a/spring-cloud-netflix-turbine/pom.xml +++ b/spring-cloud-netflix-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-netflix-turbine diff --git a/spring-cloud-starter-archaius/pom.xml b/spring-cloud-starter-archaius/pom.xml index d308a620..cc21a6b6 100644 --- a/spring-cloud-starter-archaius/pom.xml +++ b/spring-cloud-starter-archaius/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-archaius diff --git a/spring-cloud-starter-atlas/pom.xml b/spring-cloud-starter-atlas/pom.xml index 81d17289..feff8edf 100644 --- a/spring-cloud-starter-atlas/pom.xml +++ b/spring-cloud-starter-atlas/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-atlas diff --git a/spring-cloud-starter-eureka-server/pom.xml b/spring-cloud-starter-eureka-server/pom.xml index a6ab7a5e..16e48b16 100644 --- a/spring-cloud-starter-eureka-server/pom.xml +++ b/spring-cloud-starter-eureka-server/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-eureka-server diff --git a/spring-cloud-starter-eureka/pom.xml b/spring-cloud-starter-eureka/pom.xml index 4844e432..3aa93902 100644 --- a/spring-cloud-starter-eureka/pom.xml +++ b/spring-cloud-starter-eureka/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-eureka diff --git a/spring-cloud-starter-feign/pom.xml b/spring-cloud-starter-feign/pom.xml index d63add76..515b20fc 100644 --- a/spring-cloud-starter-feign/pom.xml +++ b/spring-cloud-starter-feign/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-feign diff --git a/spring-cloud-starter-hystrix-dashboard/pom.xml b/spring-cloud-starter-hystrix-dashboard/pom.xml index 34c5c9b2..f901e45a 100644 --- a/spring-cloud-starter-hystrix-dashboard/pom.xml +++ b/spring-cloud-starter-hystrix-dashboard/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-hystrix-dashboard diff --git a/spring-cloud-starter-hystrix/pom.xml b/spring-cloud-starter-hystrix/pom.xml index 9698779e..9a742659 100644 --- a/spring-cloud-starter-hystrix/pom.xml +++ b/spring-cloud-starter-hystrix/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-hystrix diff --git a/spring-cloud-starter-ribbon/pom.xml b/spring-cloud-starter-ribbon/pom.xml index 4c90376f..085a421d 100644 --- a/spring-cloud-starter-ribbon/pom.xml +++ b/spring-cloud-starter-ribbon/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-ribbon diff --git a/spring-cloud-starter-spectator/pom.xml b/spring-cloud-starter-spectator/pom.xml index 4c8d90a8..c4d504dc 100644 --- a/spring-cloud-starter-spectator/pom.xml +++ b/spring-cloud-starter-spectator/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-spectator diff --git a/spring-cloud-starter-turbine-amqp/pom.xml b/spring-cloud-starter-turbine-amqp/pom.xml index 3803465e..6e7b744d 100644 --- a/spring-cloud-starter-turbine-amqp/pom.xml +++ b/spring-cloud-starter-turbine-amqp/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-turbine-amqp diff --git a/spring-cloud-starter-turbine-stream/pom.xml b/spring-cloud-starter-turbine-stream/pom.xml index 6eb8c20a..60160bde 100644 --- a/spring-cloud-starter-turbine-stream/pom.xml +++ b/spring-cloud-starter-turbine-stream/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-turbine-stream diff --git a/spring-cloud-starter-turbine/pom.xml b/spring-cloud-starter-turbine/pom.xml index 1e011757..271b3e42 100644 --- a/spring-cloud-starter-turbine/pom.xml +++ b/spring-cloud-starter-turbine/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-turbine diff --git a/spring-cloud-starter-zuul/pom.xml b/spring-cloud-starter-zuul/pom.xml index c00c924c..23f36e12 100644 --- a/spring-cloud-starter-zuul/pom.xml +++ b/spring-cloud-starter-zuul/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-netflix - 1.3.5.BUILD-SNAPSHOT + 1.3.6.BUILD-SNAPSHOT .. spring-cloud-starter-zuul From 0401ad96e568149978ecbdf41616d843100f612d Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Fri, 8 Dec 2017 10:39:21 -0800 Subject: [PATCH 5/5] Fixes double encoding when creating secure URLs (#2526) * Fixes double encoding when creating secure URLs. Fixes #2478. --- ...etryableRibbonLoadBalancingHttpClient.java | 6 +- .../apache/RibbonLoadBalancingHttpClient.java | 15 ++- .../RibbonLoadBalancingHttpClientTests.java | 94 +++++++++++++++++++ 3 files changed, 105 insertions(+), 10 deletions(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RetryableRibbonLoadBalancingHttpClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RetryableRibbonLoadBalancingHttpClient.java index a46eb011..a28d65ba 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RetryableRibbonLoadBalancingHttpClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RetryableRibbonLoadBalancingHttpClient.java @@ -84,11 +84,7 @@ public class RetryableRibbonLoadBalancingHttpClient extends RibbonLoadBalancingH newRequest.getURI().getFragment())); } } - if (isSecure(configOverride)) { - final URI secureUri = UriComponentsBuilder.fromUri(newRequest.getUri()) - .scheme("https").build().toUri(); - newRequest = newRequest.withNewUri(secureUri); - } + newRequest = getSecureRequest(request, configOverride); HttpUriRequest httpUriRequest = newRequest.toRequest(requestConfig); final HttpResponse httpResponse = RetryableRibbonLoadBalancingHttpClient.this.delegate.execute(httpUriRequest); if(retryPolicy.retryableStatusCode(httpResponse.getStatusLine().getStatusCode())) { diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClient.java index 18db9b68..208f9edd 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClient.java @@ -85,11 +85,7 @@ public class RibbonLoadBalancingHttpClient extends CommonClientConfigKey.FollowRedirects, this.followRedirects)); final RequestConfig requestConfig = builder.build(); - if (isSecure(configOverride)) { - final URI secureUri = UriComponentsBuilder.fromUri(request.getUri()) - .scheme("https").build().toUri(); - request = request.withNewUri(secureUri); - } + request = getSecureRequest(request, configOverride); final HttpUriRequest httpUriRequest = request.toRequest(requestConfig); final HttpResponse httpResponse = this.delegate.execute(httpUriRequest); return new RibbonApacheHttpResponse(httpResponse, httpUriRequest.getURI()); @@ -106,4 +102,13 @@ public class RibbonLoadBalancingHttpClient extends return new RequestSpecificRetryHandler(false, false, RetryHandler.DEFAULT, requestConfig); } + + protected RibbonApacheHttpRequest getSecureRequest(RibbonApacheHttpRequest request, IClientConfig configOverride) { + if (isSecure(configOverride)) { + final URI secureUri = UriComponentsBuilder.fromUri(request.getUri()) + .scheme("https").build(true).toUri(); + return request.withNewUri(secureUri); + } + return request; + } } diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClientTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClientTests.java index b77318f0..1ec0ff09 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClientTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/RibbonLoadBalancingHttpClientTests.java @@ -16,8 +16,10 @@ package org.springframework.cloud.netflix.ribbon.apache; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.net.URI; +import java.util.ArrayList; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.HttpClient; @@ -29,6 +31,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; +import org.mockito.ArgumentMatcher; import org.springframework.cloud.client.loadbalancer.LoadBalancedRetryPolicyFactory; import org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration; import org.springframework.cloud.netflix.ribbon.RibbonLoadBalancedRetryPolicy; @@ -36,11 +39,14 @@ import org.springframework.cloud.netflix.ribbon.RibbonLoadBalancedRetryPolicyFac import org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerContext; import org.springframework.cloud.netflix.ribbon.ServerIntrospector; import org.springframework.cloud.netflix.ribbon.SpringClientFactory; +import org.springframework.cloud.netflix.ribbon.support.RibbonRequestCustomizer; +import org.springframework.cloud.netflix.zuul.filters.route.RibbonCommandContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.util.LinkedMultiValueMap; import com.netflix.client.DefaultLoadBalancerRetryHandler; import com.netflix.client.RetryHandler; @@ -56,6 +62,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.any; +import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doThrow; @@ -189,6 +196,15 @@ public class RibbonLoadBalancingHttpClientTests { boolean retryable, boolean retryOnAllOps, String serviceName, String host, int port, HttpClient delegate, ILoadBalancer lb, String statusCodes) throws Exception { + return setupClientForRetry(retriesNextServer, retriesSameServer, retryable, retryOnAllOps, serviceName, host, port, + delegate, lb, statusCodes, false); + } + + private RetryableRibbonLoadBalancingHttpClient setupClientForRetry(int retriesNextServer, int retriesSameServer, + boolean retryable, boolean retryOnAllOps, + String serviceName, String host, int port, + HttpClient delegate, ILoadBalancer lb, String statusCodes, + boolean isSecure) throws Exception { ServerIntrospector introspector = mock(ServerIntrospector.class); RetryHandler retryHandler = new DefaultLoadBalancerRetryHandler(retriesSameServer, retriesNextServer, retryable); doReturn(new Server(host, port)).when(lb).chooseServer(eq(serviceName)); @@ -197,6 +213,7 @@ public class RibbonLoadBalancingHttpClientTests { clientConfig.set(CommonClientConfigKey.MaxAutoRetriesNextServer, retriesNextServer); clientConfig.set(CommonClientConfigKey.MaxAutoRetries, retriesSameServer); clientConfig.set(RibbonLoadBalancedRetryPolicy.RETRYABLE_STATUS_CODES, statusCodes); + clientConfig.set(CommonClientConfigKey.IsSecure, isSecure); clientConfig.setClientName(serviceName); RibbonLoadBalancerContext context = new RibbonLoadBalancerContext(lb, clientConfig, retryHandler); SpringClientFactory clientFactory = mock(SpringClientFactory.class); @@ -307,6 +324,83 @@ public class RibbonLoadBalancingHttpClientTests { verify(lb, times(1)).chooseServer(eq(serviceName)); } + @Test + public void testDoubleEncoding() throws Exception { + String serviceName = "foo"; + String host = serviceName; + int port = 80; + HttpMethod method = HttpMethod.GET; + final URI uri = new URI("https://" + host + ":" + port + "/a%2Bb"); + DefaultClientConfigImpl clientConfig = new DefaultClientConfigImpl(); + clientConfig.setClientName(serviceName); + ServerIntrospector introspector = mock(ServerIntrospector.class); + RibbonCommandContext context = new RibbonCommandContext(serviceName, method.toString(), uri.toString(), false, + new LinkedMultiValueMap(), new LinkedMultiValueMap(), + new ByteArrayInputStream(new String("bar").getBytes()), + new ArrayList()); + RibbonApacheHttpRequest request = new RibbonApacheHttpRequest(context); + HttpClient delegate = mock(HttpClient.class); + final CloseableHttpResponse response = mock(CloseableHttpResponse.class); + StatusLine statusLine = mock(StatusLine.class); + doReturn(200).when(statusLine).getStatusCode(); + doReturn(statusLine).when(response).getStatusLine(); + doReturn(response). + when(delegate).execute(any(HttpUriRequest.class)); + RibbonLoadBalancingHttpClient client = new RibbonLoadBalancingHttpClient(delegate, clientConfig, introspector); + RibbonApacheHttpResponse returnedResponse = client.execute(request, null); + verify(response, times(0)).close(); + verify(delegate, times(1)).execute(argThat(new ArgumentMatcher() { + @Override + public boolean matches(Object argument) { + if(argument instanceof HttpUriRequest) { + HttpUriRequest arg = (HttpUriRequest)argument; + return arg.getURI().equals(uri); + } + return false; + } + })); + } + + @Test + public void testDoubleEncodingWithRetry() throws Exception { + int retriesNextServer = 0; + int retriesSameServer = 0; + boolean retryable = true; + boolean retryOnAllOps = true; + String serviceName = "foo"; + String host = serviceName; + int port = 80; + HttpMethod method = HttpMethod.GET; + final URI uri = new URI("https://" + host + ":" + port + "/a%2Bb"); + RibbonCommandContext context = new RibbonCommandContext(serviceName, method.toString(), uri.toString(), true, + new LinkedMultiValueMap(), new LinkedMultiValueMap(), + new ByteArrayInputStream(new String("bar").getBytes()), + new ArrayList()); + RibbonApacheHttpRequest request = new RibbonApacheHttpRequest(context); + HttpClient delegate = mock(HttpClient.class); + final CloseableHttpResponse response = mock(CloseableHttpResponse.class); + StatusLine statusLine = mock(StatusLine.class); + doReturn(200).when(statusLine).getStatusCode(); + doReturn(statusLine).when(response).getStatusLine(); + doReturn(response). + when(delegate).execute(any(HttpUriRequest.class)); + ILoadBalancer lb = mock(ILoadBalancer.class); + RetryableRibbonLoadBalancingHttpClient client = setupClientForRetry(retriesNextServer, retriesSameServer, retryable, retryOnAllOps, + serviceName, host, port, delegate, lb, "", true); + client.execute(request, null); + verify(response, times(0)).close(); + verify(delegate, times(1)).execute(argThat(new ArgumentMatcher() { + @Override + public boolean matches(Object argument) { + if(argument instanceof HttpUriRequest) { + HttpUriRequest arg = (HttpUriRequest)argument; + return arg.getURI().equals(uri); + } + return false; + } + })); + } + @Test public void testNoRetryOnPost() throws Exception { int retriesNextServer = 1;