Allows setting string and URI for fallback.

fixes gh-232
This commit is contained in:
Spencer Gibb
2018-03-20 14:33:45 -04:00
parent c69dabee31
commit b58c8230f9

View File

@@ -77,7 +77,7 @@ public class HystrixGatewayFilterFactory extends AbstractGatewayFilterFactory<Hy
}
return (exchange, chain) -> {
RouteHystrixCommand command = new RouteHystrixCommand(config.setter, config.fallback, exchange, chain);
RouteHystrixCommand command = new RouteHystrixCommand(config.setter, config.fallbackUri, exchange, chain);
return Mono.create(s -> {
Subscription sub = command.toObservable().subscribe(s::success, s::error, s::success);
@@ -140,9 +140,8 @@ public class HystrixGatewayFilterFactory extends AbstractGatewayFilterFactory<Hy
public static class Config {
private String name;
private String fallbackUri;
private Setter setter;
private URI fallback;
private URI fallbackUri;
public String getName() {
return name;
@@ -153,19 +152,22 @@ public class HystrixGatewayFilterFactory extends AbstractGatewayFilterFactory<Hy
return this;
}
public String getFallbackUri() {
public Config setFallbackUri(String fallbackUri) {
if (fallbackUri != null) {
setFallbackUri(URI.create(fallbackUri));
}
return this;
}
public URI getFallbackUri() {
return fallbackUri;
}
public Config setFallbackUri(String fallbackUri) {
this.fallbackUri = fallbackUri;
if (this.fallbackUri != null) {
fallback = URI.create(fallbackUri);
if (!"forward".equals(fallback.getScheme())) {
throw new IllegalArgumentException("Hystrix Filter currently only supports 'forward' URIs, found " + fallbackUri);
}
public void setFallbackUri(URI fallbackUri) {
if (fallbackUri != null && !"forward".equals(fallbackUri.getScheme())) {
throw new IllegalArgumentException("Hystrix Filter currently only supports 'forward' URIs, found " + fallbackUri);
}
return this;
this.fallbackUri = fallbackUri;
}
public Config setSetter(Setter setter) {