Commit Graph

519 Commits

Author SHA1 Message Date
Jacques-Etienne Beaudet
726f355e9c Support path parms in Class @RequestMapping for feign
This commit adds the support to SpringMvcContract for path parameters
defined in the class' @RequestMapping Annotation that is applied to all
methods of a feign interface.

fixes gh-1023
2016-06-09 10:44:52 -06:00
Dave Syer
02d935dbaa Add @ConditionalOnEnabledEndpoint to archaius endpoint
Fixes gh-936
2016-06-09 11:22:47 +01:00
Dave Syer
4507d1d46d Add listener for HeartbeatEvent to refresh zuul routes
Fixes gh-1084
2016-06-09 11:22:47 +01:00
Marcin Grzejszczak
2566707256 Zuul filters missing error status code (#1088)
* Added missing error code for SimpleHostRoutingFilter
* Added missing error code for RibbonRoutingFilter
2016-06-09 10:25:08 +02:00
Dave Syer
b6fa67c49f Use Servlet 3.0 Part instead of Spring MultipartFile
So that it can handle multi-part requests that do not have a
file name.

Fixes gh-1067
2016-06-06 14:32:43 +01:00
Dave Syer
0da6f27aac Explicitly exclude form-body params that appear in query string
Fixes gh-1080
2016-06-06 13:43:18 +01:00
Jacques-Etienne Beaudet
8229eb657e Fixed the path encoding in ProxyRequestHelper when the character encoding was specifically set on HttpServletRequest.
When the character encoding was set to UTF-8 for example, the path was correctly decoded in PreDecorationFilter but was reencoded in ProxyRequestHelper using the Servlet default ISO-8859-1. This commit uses the character encoding when set and fallback on default.
2016-06-03 13:24:29 -06:00
Marcos Barbero
c743ba893c Use request.characterEncoding prior to default encoding
fixes gh-647
2016-06-03 13:19:38 -06:00
Venil Noronha
2d6306644c Enables Hystrix metrics poll interval config.
Fixes gh-1041
2016-06-03 13:05:43 -06:00
Damian Jackson
0705c9f540 Support header placeholders in SpringMvcContract.
When using property placeholders in the @RequestMapping annotation the ones placed in the headers attribute do not get replaced. This appears to be because the other attributes, such as the url, use the resolve() function to perform the substitution whereas the header is parsed as-is. This change adds a call to resolve for each side of the equals in the header string so that the properties are substituted correctly.
2016-06-03 12:56:21 -06:00
Spencer Gibb
9e03342690 travis logs filling up, switch to INFO 2016-05-27 18:13:04 -06:00
Daniel Lavoie
4fd36592dc Fix RestTemplateRetryTest Unit test 2016-05-27 16:29:26 -06:00
Dave Syer
4a1e637b83 Fix content type when missing from incoming request
If there is no content type incoming, then it should be
absent in the outgoing request (not "null").

Fixes gh-1037
2016-05-24 09:02:48 +01:00
Spencer Gibb
d19a6f2615 Use RouteLocator interface.
fixes gh-1030
2016-05-23 16:07:08 -06:00
Dave Syer
880efd1843 Remove @AliasFor from @FeignClient.serviceId()
The way it was being used internally means that we didn't need the
annotation anyway. It would be nice to have it back if the Spring
issue gets resolved, because then we could actually use it as
intended.

Fixes gh-1025
2016-05-17 15:33:42 +01:00
Dave Syer
9823d07817 Revert "Add support in SpringMvcContract for query string in Class @RequestMapping"
This reverts commit 2c502e3997.
2016-05-17 15:26:34 +01:00
Jacques-Etienne Beaudet
2c502e3997 Add support in SpringMvcContract for query string in Class @RequestMapping
This commit adds the support for query string defined in the class'
@RequestMapping Annotation that is applied to all method of a
controller.

Fxies gh-1023, fixes gh-1024
2016-05-17 12:08:49 +01:00
Dave Syer
5d50a773e7 Make test more robust by creating feign clients and validating them
This test should run with Spring Boot 1.4.0.M2 now.

See https://github.com/spring-projects/spring-boot/issues/5870
2016-05-11 10:22:57 +01:00
Dave Syer
617ecf11ec Track customization of sensitive headers so route can be cleared
When the users explicitly sets the sensitive headers of a rroute to
empty, it means they should be empty, not the global defaults.

Fixes gh-1012
2016-05-09 11:47:41 +01:00
Venil Noronha
d3cba4d80e Adds path parameter to @FeignClient.
Fixes gh-966
2016-05-06 14:06:22 -06:00
Spencer Gibb
4888299b28 polish 2016-05-06 10:54:29 -06:00
Dave Syer
5de52b96f4 Some changes to help with Spring Boot 1.4 compatibility
The jackson version needs to be explicit (not in parent potentially)
and there is a weirdness with @RequestMapping in Spring 4.3
2016-05-05 16:55:09 +01:00
Jacques-Etienne Beaudet
ea1a4c5add Sensitive headers set in PreDecorationFilter no longer override previously set ignored headers.
Removed the case sensitiveness when the sensitive headers are set.
Fixes https://github.com/spring-cloud/spring-cloud-netflix/issues/1003
2016-05-04 13:40:21 -04:00
Dave Syer
88864153eb Test for default ribbon client configuration 2016-05-04 08:50:57 +01:00
Dave Syer
9ad3d21b75 Tidy up more compiler warnings for generics 2016-05-03 11:53:22 +01:00
Spencer Gibb
860d7b8446 Log warning if ServoMonitorCache size exceeds threshold.
Fixes gh-947
2016-05-02 12:27:33 -06:00
Sébastien PERALTA
5613e48141 Append to X-Forwarded-Prefix in case it already exists
Fixes gh-993
2016-04-28 13:22:38 +01:00
Dave Syer
3a251e2a38 Revert "Use the original query string when forwarding the request"
This reverts commit 8952cff24d.
2016-04-28 12:03:10 +01:00
Dave Syer
c7c191c01e Ensure Servo metrics are exported the same as default metrics
Adds an `@ExportMetricReader` which was missing before and
led to people losing their metric exports when they had Servo
on the classpath.

Also allow servo metrics autoconfiguration to be disabled via
a flag netflix.metrics.servo.enabled=false (as an alternative to
excluding the class in `@EnableAutoConfiguration`).
2016-04-28 11:57:00 +01:00
Nicolas Byl
8952cff24d Use the original query string when forwarding the request
to ensure compatibility with legacy apps

Fixes gh-989
2016-04-26 17:31:22 +01:00
Dave Syer
314d229ccf Add @ConditionalOnEnabledHealthIndicator("hystrix")
Users will have to switch from health.hystrix.enabled to
management.health.* for consistency with other health
indicators.

Fixes gh-985
2016-04-26 09:13:06 +01:00
Spencer Gibb
5acf4e1a2e Throw IOException in RibbonLoadBalancerClient.execute
Fixes proper RestTemplate behavior.

fixes gh-986
2016-04-25 13:48:00 -06:00
Pedro Alvarado
2b40952429 Add support for placeholders to Feign spring-mvc RequestMapping annotation.
Fixes gh-894
2016-04-25 11:01:26 +01:00
Spencer Gibb
e0c67b30f8 Pass headers back to feign request.
Spring HttpMessageConverters can modify headers. This change passes the modified headersr back to the feign request, so the proper headers are sent on the request.

 fixes gh-977
2016-04-20 06:46:23 -06:00
Dave Syer
5fc76aaa72 Fix javadocs in @FeignClient
The descriptions of name/serviceId/value and url were out of date
(name is mandatory now and can be mixed with url).
2016-04-19 14:58:59 +01:00
Spencer Gibb
df5303912f Add global zuul sensitiveHeaders option.
Route specific sensitiveHeaders override global.

fixes gh-944
2016-04-08 10:38:24 -06:00
Tyler Van Gorder
05351b7809 Ribbon retry works & fix Content-Length error.
This change requires setting `ribbon.http.client.enabled=true`.

This change addresses issue #648 Getting Retry Working In RestTemplate. There is also a fix in place that addresses the issue #357 RestTemplate Error.

fixes gh-648
2016-04-07 16:15:03 -06:00
Spencer Gibb
a3ab3259e3 Make RibbonClientHttpRequestFactory disabled by default.
fixes gh-961
2016-04-07 15:10:39 -06:00
Adrian Ivan
d0841f792e Send 404 in zuul servlet when no route is found.
Fixes false 200 in zuul when using zuul servlet rather than mvc servlet.

Fixes gh-865
2016-04-07 13:44:29 -06:00
Tim te Beek
593549551a Set or append to X-Forwarded-For for downstream requests
Fixes gh-352
2016-04-05 15:42:56 +01:00
Tyler Van Gorder
983221a710 Adding the ability to specify a custom retry handler in the ribbon client configuration.
fixes gh-931
2016-03-31 11:36:57 -06:00
Dave Syer
5d2065b3e7 Add some javadocs to ZuulProperties 2016-03-24 12:31:51 +00:00
Spencer Gibb
892eea752b Lazily look up MetricsClientHttpRequestInterceptor in BPP.
fixes gh-912
2016-03-23 12:00:06 -06:00
Spencer Gibb
d8da9af29d try and fix LoadBalancerFeignClientOverrideTests 2016-03-21 18:40:39 -06:00
Spencer Gibb
d774847d00 try and fix LoadBalancerFeignClientOverrideTests 2016-03-21 18:10:12 -06:00
Spencer Gibb
5e38ae1234 polish 2016-03-21 17:54:50 -06:00
Spencer Gibb
67b6eafbf0 Use ribbon configuration for ReadTimeout & ConnectTimeout.
Allows feign/ribbon users to use standard config files rather than creating a bean of Request.Options.

fixes gh-696
2016-03-21 17:23:21 -06:00
Spencer Gibb
08f7076f6e Mark @FeignClient beans as primary.
When fallback beans are created, there was no longer a unique bean of the feign interface which caused autowire problems.

fixes gh-899
2016-03-16 17:01:45 -06:00
Spencer Gibb
b9a6876d00 Upgrade ribbon to 2.1.3
fixes gh-908
2016-03-16 14:36:52 -06:00
Jakub Narloch
bca86191b3 Spring Mvc RxJava integration.
Support for Single via a ReturnValueHandler.
Support for Observable via SseEmitter.
2016-03-14 14:14:06 -06:00