Commit Graph

280 Commits

Author SHA1 Message Date
Dave Syer
9939e0ecd9 Convert form-encoded request to byte[] for proxy
With just a bit more hackery on the Zuul request wrapper we can mask
off the input stream and content lengths, and fix them so they contain
the expected content. Doesn't work (yet) for multipart content.

Fixes gh-109
2014-12-19 12:52:54 +00:00
Spencer Gibb
e7956e199e updated feign docs to use new @FeignClient*
fixes gh-111
2014-12-18 12:04:27 -07:00
Spencer Gibb
9ba39c990a add *-amqp projects to dep mgmt 2014-12-17 14:40:58 -07:00
Spencer Gibb
85a3e82da6 remove references to bus 2014-12-17 13:50:04 -07:00
Spencer Gibb
4dc7972fa5 moved spring-cloud-bus-{hystrix,turbine} to spring-cloud-netflix-{hystrix,turbine}-amqp
fixes gh-108
2014-12-17 13:26:21 -07:00
Spencer Gibb
71d0a474f7 cleanup threads in DiscoveryClient.jerseyClient and ServoMetricCollector 2014-12-16 16:13:04 -07:00
Spencer Gibb
d4d1fe7f63 cleanup timer thread in zuul filter 2014-12-16 15:38:27 -07:00
Spencer Gibb
5287d5be0c Merge branch 'royclarkson-freemarker-config' 2014-12-16 15:09:35 -07:00
Roy Clarkson
2c451ad73e Fix issue where the Hystrix dashboard will not load
Overrides Spring Boot's FreeMarkerAutoConfiguration to prefer using a
SpringTemplateLoader instead of the file system. This corrects an issue
where Spring Boot may use an empty 'templates' file resource to resolve
templates instead of the packaged Hystrix classpath templates.

When creating a new project with Spring initializer, an empty
'templates' resource directory is automatically added to the new
project, causing a scenario where this issue may occur.
2014-12-16 15:43:13 -06:00
Roy Clarkson
75ff9540bb Fix typos in README 2014-12-16 12:28:38 -06:00
Dave Syer
e623ad1061 Fix ordering problem in tests
The Zuul filter registry has to be cleareed (including a cache in
a private field in FilterLoader, yuck).
2014-12-16 10:49:54 +00:00
Dave Syer
311d87885c Re-instate @EnableZuulServer and simplifiy configuration a bit
With this change users can elect not to install the proxy features
but still have a Zuul server with @Beans of type ZuulFilter added
automatically.

Fixes gh-104
2014-12-16 09:00:28 +00:00
Spencer Gibb
789cf6d752 change the default route from / to /**
fixes gh-105
2014-12-15 17:15:49 -07:00
Spencer Gibb
4d9281c2af reset zuul routes when eureka sends catalog delta.
fixes gh-76
2014-12-15 16:23:28 -07:00
Spencer Gibb
7423decc54 updated EurekaHealthIndicator to implement the new DiscoveryHealthIndicator
fixes gh-98
2014-12-15 13:19:01 -07:00
Dave Syer
70648b0ec0 Tidy compiler warnings 2014-12-15 17:10:29 +00:00
Dave Syer
238c1329c4 Remove dependency on jersey for ProxyRequestHelper 2014-12-15 13:11:13 +00:00
Dave Syer
2a8db73d9b Extract header manipulation into a helper and add test
Ribbon and simple host reverse proxy now share quite a lot of
code (everything to do with headers).

Fixes gh-103
2014-12-15 11:25:16 +00:00
Dave Syer
73e7adbe5b Extract base class with params and headers for proxy filters
Fixes gh-103
2014-12-15 07:33:00 +00:00
Spencer Gibb
096a8fa736 ignore breaking test for a moment 2014-12-12 14:07:32 -07:00
Spencer Gibb
4a6d8a30f0 removed circular dependency between EurekaClientAutoConfiguration and EurekaDiscoveryClientConfiguration that caused DiscoveryClientConfigServiceBootstrapConfiguration to fail.
fixes gh-99
2014-12-12 12:29:32 -07:00
Dave Syer
f468160693 Add auth.route.* for controlling OAuth2 token relay
If user adds auth.route.<service>.scheme: passthru then instead
of adding the bearer token the filter will not do anything
(and the normal authorization header will be passed through
to the backend)

See gh-19
2014-12-12 11:34:15 +00:00
Dave Syer
16c25a2875 Clarify that path to dashboard doesn't require "index.html"
See gh-51
2014-12-12 11:34:15 +00:00
Spencer Gibb
7765c721ca basePath should always be /contextPath/servletPath/ (the last slash being the location of the eureka dashboard)
fixes gh-101
2014-12-11 16:52:17 -07:00
Spencer Gibb
ba6a414d1d fix double slashes in eureka server
fixes gh-100
2014-12-11 16:10:55 -07:00
Dave Syer
a2fade98a5 Change docs path in README 2014-12-11 15:41:36 +00:00
Dave Syer
7ba9998646 Add optional/runtime to lombok 2014-12-11 15:32:48 +00:00
Dave Syer
27da0bc12e Simplify implementation of servo metrics 2014-12-11 12:25:13 +00:00
Roy Clarkson
64c447f0cb Fix Travis CI image and link in README 2014-12-10 13:50:26 -06:00
Dave Syer
6d20c63445 Ensure servo metrics contribute to health indicator
Without this change the health status is always UNKNOWN because it
never finds the servo metrics for the health indicator. It's also
a general spruce up of the servo and eureka metrics and health
infrastructure which was looking a little more complicated than
it needed to be (no need for a separate MetricReader).
2014-12-09 17:38:15 +00:00
Dave Syer
29eea6d9b6 Call postInit() aggressively on InstanceRegistry
To avoid possible NPE when the registry is used before it is initialized.

Fixes gh-97
2014-12-09 15:11:27 +00:00
Dave Syer
67878cfebd Rename @EnableRibbonClient to just @RibbonClients 2014-12-09 13:37:59 +00:00
Dave Syer
e155601c40 Add log at info when Eureka starts 2014-12-09 10:55:45 +00:00
Spencer Gibb
56f1a365fc add /hosts/appName and renamed misspelled bootstrapyml 2014-12-08 23:16:35 -07:00
Spencer Gibb
2545a0151b Only approximate zone if ribbon.eureka.approximateZoneFromHostname = true 2014-12-08 23:13:27 -07:00
Spencer Gibb
f92e0103bb Merge branch 'master' into feignclient
Conflicts:
	spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/feign/SpringDecoderTests.java
2014-12-08 11:30:44 -07:00
Spencer Gibb
c1e6832dee add @DirtiesContext to tests 2014-12-08 10:32:08 -07:00
Dave Syer
6417923523 Extract ribbon client factory into ApplicationContext
Using Spring as an object factory to control the lifecycle of ribbon clients.
So far we have a single, parameterized configuration class for all clients, but
can be extended to allow user to supply additional configuration. The current
model for user extensions is

@EnableRibbonClient(@RibbonClient(name = "foo", configuration = FooConfiguration.class))
public class MainConfiguration {
    ...
}

So in this example, MainConfiguration is part of the "main" application context
and FooConfiguration is used to create the Ribbon client and load balancer for
the "foo" service.
2014-12-08 15:54:38 +00:00
Dave Syer
bfb6ca6d8d Ditch SpringFilter in favour of proper dependency injection 2014-12-06 09:15:01 +00:00
Spencer Gibb
92a3454237 Polish 2014-12-05 15:40:40 -07:00
Spencer Gibb
05e8777fc3 add missing feign objects as not required values.
Document FeignClient
2014-12-05 15:31:40 -07:00
Spencer Gibb
7f9642ff38 new @FeignClient annotation 2014-12-05 15:24:00 -07:00
Spencer Gibb
b7db65863f rename FeignConfigurer to FeignConfiguration
fixes gh-91
2014-12-05 12:23:02 -07:00
Spencer Gibb
3b7cc53c27 Merge branch 'jlouns-master' 2014-12-04 17:06:54 -07:00
Spencer Gibb
45e9a6208b Merge branch 'master' of github.com:jlouns/spring-cloud-netflix into jlouns-master 2014-12-04 16:32:04 -07:00
Jonathan Lounsbury
51f7dbd724 Simplifying readdition of route 2014-12-04 14:26:08 -05:00
Jonathan Lounsbury
d999b802bc Fixing issue with default routes 2014-12-04 14:05:38 -05:00
Spencer Gibb
5964d160a1 remove deprecated @EnableEurekaClient and replace with @EnableDiscoveryClient
fixes gh-85
2014-12-04 11:51:18 -07:00
Spencer Gibb
3333cbeb99 remove deprecated @EnableHystrix
fixes gh-87
2014-12-04 11:50:31 -07:00
Spencer Gibb
88a8201693 Polish 2014-12-04 11:49:39 -07:00