Commit Graph

711 Commits

Author SHA1 Message Date
Ryan Baxter
2e46bdf9d2 Porting #1450 for Dalston release 2016-12-12 15:09:16 -05:00
Spencer Gibb
8b089222bd make external configurations optional 2016-12-08 13:47:19 -07:00
Spencer Gibb
ec80797694 avoid potential NPE 2016-12-08 12:27:10 -07:00
Bertrand Renuart
8b7d6848b3 use com.netflix.loadbalancer.DummyPing instead of NoopPing
use `com.netflix.loadbalancer.DummyPing` instead of `NoopPing`

This eliminates the startup of another theadpool.

fixes gh-1504
2016-12-05 13:26:05 -05:00
Ryan Baxter
6a82644153 Don’t add URL protocol when url is set using EL. Fixes #1522. 2016-12-05 12:48:01 -05:00
Ryan Baxter
ac3401bc4f Fixed import ordering 2016-12-01 20:28:29 -05:00
Ryan Baxter
9da71b1655 Removed unnecessary null check and fixed imports 2016-12-01 20:28:28 -05:00
Ryan Baxter
ed31004aa8 Uses configuration from IConfigClient reference to always use the most up to date configuration. Fixes #1481. 2016-12-01 20:28:28 -05:00
Bertrand Renuart
2d748bf63c use different bean names for Hystrix and HystrixStream features (#1470)
Fixes gh-1462
2016-11-16 09:39:48 -07:00
Robin Stocker
e6298f8107 Fix NoClassDefFoundError loading RxJavaAutoConfiguration without spring-webmvc (#1442)
RxJavaReturnValueHandlerConfig can only be loaded when both spring-web
and spring-webmvc are on the classpath, because it contains a reference
to the WebMvcConfigurerAdapter class.

But the ConditionalOnClass annotation only included the class from
spring-web. In our situation, only spring-web was on the classpath,
resulting in a NoClassDefFoundError for WebMvcConfigurerAdapter. Fix it
by adding that class to the condition as well.
2016-11-03 10:27:15 -04:00
Spencer Gibb
428ed6c88c Bump to 1.3.0.BUILD-SNAPSHOT 2016-10-27 15:37:59 -06:00
Ryan Baxter
c3a84f1b73 Merge remote-tracking branch 'Upstream/master' into simplify-retry-logic 2016-10-26 15:05:12 -04:00
Ryan Baxter
5a5a1aaa7f -Made spring-retry optional
-additional refactoring from changes in s-c-commons
2016-10-26 15:04:51 -04:00
Venil Noronha
aef753a3a0 Adds Feign Logger factory interface (#1411)
Fixes gh-1363
2016-10-25 17:39:22 -04:00
Dave Syer
7f075d11ee Allow Cors requests through to backend by default
Instead of blocking them (which is the default behaviour of a
Spring MVC controller) Cors requests will flow through the Zuul
filters by default. Users can control it by grabbing the
ZuulHandlerMapping in a @PostConstruct and injecting some
CorsConfiguration via its setCorsConfigurations() method.
2016-10-25 14:33:53 +01:00
Dave Syer
a38b7b71ac Append to X-Forwarded-* headers instead of replacing them
This fixes most of the issues people encounter when there are
multiple proxies in the request. The tricky thing is that there
is another header "Forwarded" that we don't recognize, but which
backends probably do, at least some of the time (since it is
from an actual RFC). The problem is that "Forwarded" does not
contain the ports, so Spring UriComponentsBuilder cannot use it
to rewrite links to a specific port. Since we do not support it
already, this change doesn't make things any worse, but the
corner case is there still.
2016-10-25 12:56:49 +01:00
Dave Syer
139ab95438 Make configuration imports deterministic 2016-10-25 12:20:31 +01:00
Dave Syer
71ac67f9f1 Suppress some warnings 2016-10-25 12:20:21 +01:00
Dave Syer
0e1b856fc5 Extract proxy header manipulation into method 2016-10-25 07:50:38 +01:00
Ryan Baxter
0235d77932 Zuul Route Hystrix Fallback
Hystrix fallback support for Zuul routes.

Fixes gh-250.
2016-10-24 15:24:31 -04:00
Ryan Baxter
6e1ca54edc increased max retried to help with failures 2016-10-24 13:42:21 -04:00
Ryan Baxter
5a42cb1b2b Updates based on latest version from commons 2016-10-20 15:09:52 -04:00
Ryan Baxter
ee99efba36 Merge remote-tracking branch 'Upstream/master' into simplify-retry-logic 2016-10-20 14:38:37 -04:00
Spencer Gibb
8e6b643829 Use new ServletRegistrationBean package.
Breaks Spring Boot 1.3 compatibility, enables 1.5
2016-10-20 11:19:54 -06:00
Ryan Baxter
c9704d3c97 Updating versions for next release 2016-10-18 10:16:01 -04:00
Ryan Baxter
34775eb8db Revert "Version changes for the release"
This reverts commit 90d6490fea.
2016-10-18 10:11:03 -04:00
Ryan Baxter
90d6490fea Version changes for the release 2016-10-18 09:44:57 -04:00
Alena
acb12ea7d4 Support DELETE method body for SimpleHostRoutingFilter
fixes gh-1329
2016-10-13 09:34:08 -06:00
Ryan Baxter
18c4bc060b Upgrade hystrix 1.5.6 (#1388)
Fixes gh-1374
2016-10-11 13:41:31 -04:00
Spencer Gibb
aa160940df import order 2016-10-11 10:25:02 -06:00
Max Ishchenko
c8829f2aa4 Prevent double url encoding for secure ribbon urls (#1389)
Secure ribbon urls were forced to use https scheme via UriComponentsBuilder, that was created from original uri. This transformation url encoded previously encoded url parts that were used to create builder. This was introduced in c883495.

This change fixes double url encoding using RibbonUtils.updateToHttpsIfNeeded that fixes double escaping case and corner case with '+' in url as well.

Fixes gh-1382
2016-10-11 10:19:33 -04:00
Spencer Gibb
f30e8b7b46 Remove @Autowired from FeignClientFactoryBean
@Autowired causes NullPointerExceptions because of some unknown lifecycle issues.

fixes gh-1366
2016-10-06 10:19:46 -06:00
Spencer Gibb
ba3923d706 Fix zuul error when there are colons in request param name.
Previously, parameter names with colons (ie foo:bar), caused an IllegalArgumentException because 41c364002f introduced UriTemplate to properly encode.

fixes gh-1193
2016-10-05 12:51:28 -06:00
Spencer Gibb
622cc83204 polish 2016-10-04 18:48:28 -06:00
bpicode
8e18c3d3b6 Add support for fallback factories in feign client annotation. (#1373)
Adds `@FeignClient.fallbackFactory` to define a `feign.hystrix.FallbackFactory`.

fixes gh-1117
2016-10-04 20:46:33 -04:00
Spencer Gibb
0adbd5662f polish 2016-10-04 18:39:07 -06:00
Ryan Baxter
f00d1159c8 Merge remote-tracking branch 'Upstream/master' into simplify-retry-logic 2016-10-04 10:49:02 -04:00
Ryan Baxter
4c90ce437e Implementation of factory pattern for creating retry policies 2016-10-04 10:48:40 -04:00
Mathias Düsterhöft
e109093b83 add config option to not ignore security headers (#1354)
* add config option to not ignore security headers
* fix field documentation of ignoreSecurityHeaders
* add documenation for  zuul.ignoreSecurityHeaders

fixes gh-1096
2016-10-03 23:30:17 -04:00
Jacques-Etienne Beaudet
8e1be54759 Support '+' in encoded query string when rebuilding the URI to https
RibbonUtils now replace the encoded space character '+' in the query string in favor of the equivalent '%20' when rewriting the URI in https. This is due to UriComponentsBuilder verifying the allowed characters in the encoded URI when building to the URI java.net class. The '+' is considered illegal but is widely used in the field. (#1367)
2016-10-03 14:35:30 -04:00
Spencer Gibb
be6f2634b5 Allow OkHttpClient to be customized.
Moved common functionality to AbstractLoadBalancingClient
2016-09-23 14:09:41 -06:00
Ryan Baxter
7191e820a2 Implementing retry policy 2016-09-23 15:01:09 -04:00
Spencer Gibb
9eed249028 Allow customization of HttpClient.
Uses ribbon settings to set MaxConnTotal and MaxConnPerRoute. Also allows user to create a custom HttpClient as a constructor argument.

fixes gh-1149
2016-09-22 19:42:20 -06:00
Spencer Gibb
bbff2b24d0 Put Apache Http Client and OkHttpClient in ribbon context.
This eliminates them being created for every zuul request.

Also makes properties consistent accross modules: ribbon.httpclient.*, ribbon.restclient.* and ribbon.okhttp.*

fixes gh-1150
2016-09-22 15:46:53 -06:00
Ryan Baxter
b91fa734d2 Bumping versions for next release 2016-09-22 14:55:08 -04:00
Ryan Baxter
302eae6aeb Revert "version changes for Camden release"
This reverts commit 088afa6d71.
2016-09-22 14:21:39 -04:00
Ryan Baxter
088afa6d71 version changes for Camden release 2016-09-22 13:15:22 -04:00
Ryan Baxter
6c9fa68d5a Translate ribbon.ReadTimeout to apache http client socket timeout. Fixes #1357. (#1358) 2016-09-21 14:03:14 -04:00
Dave Syer
f094ecfd88 Allow user to set system properties to control http client in zuul
The SimpleHostRoutingFilter now accepts normal -Dhttps.proxy= and
-Dhttps.port= settings (and other things that generally work with
java.net).

Fixes gh-510
2016-09-20 12:30:49 +01:00
Julien Roy
7ba8063940 Add test on FormBodyWrapperFilter to avoid regressions (#1171) 2016-09-16 14:42:31 -06:00