Browse Source

Move values to constants

pull/41/head
Spencer Gibb 8 years ago
parent
commit
f1d36dec95
No known key found for this signature in database
GPG Key ID: 7788A47380690861
  1. 3
      src/main/java/org/springframework/cloud/gateway/GatewayFilter.java
  2. 4
      src/main/java/org/springframework/cloud/gateway/GatewayHostHandlerMapping.java
  3. 2
      src/main/java/org/springframework/cloud/gateway/GatewayUrlHandlerMapping.java
  4. 5
      src/main/java/org/springframework/cloud/gateway/GatewayWebHandler.java
  5. 14
      src/main/java/org/springframework/cloud/gateway/filters/RouteToUrlFilter.java

3
src/main/java/org/springframework/cloud/gateway/GatewayFilter.java

@ -31,6 +31,9 @@ import reactor.core.publisher.Mono; @@ -31,6 +31,9 @@ import reactor.core.publisher.Mono;
*/
public interface GatewayFilter {
String GATEWAY_ROUTE_ATTR = "gatewayRoute";
String GATEWAY_REQUEST_URL_ATTR = "requestUrl";
default boolean shouldFilter(ServerWebExchange exchange) {
return true;
}

4
src/main/java/org/springframework/cloud/gateway/GatewayHostHandlerMapping.java

@ -18,6 +18,8 @@ import org.springframework.web.server.WebHandler; @@ -18,6 +18,8 @@ import org.springframework.web.server.WebHandler;
import reactor.core.publisher.Mono;
import static org.springframework.cloud.gateway.GatewayFilter.GATEWAY_ROUTE_ATTR;
/**
* @author Spencer Gibb
*/
@ -123,7 +125,7 @@ public class GatewayHostHandlerMapping extends AbstractHandlerMapping { @@ -123,7 +125,7 @@ public class GatewayHostHandlerMapping extends AbstractHandlerMapping {
if (handler instanceof RouteHolder) {
RouteHolder holder = (RouteHolder) handler;
exchange.getAttributes().put("gatewayRoute", holder.route);
exchange.getAttributes().put(GATEWAY_ROUTE_ATTR, holder.route);
return holder.webHandler;
}

2
src/main/java/org/springframework/cloud/gateway/GatewayUrlHandlerMapping.java

@ -34,7 +34,7 @@ public class GatewayUrlHandlerMapping extends AbstractUrlHandlerMapping { @@ -34,7 +34,7 @@ public class GatewayUrlHandlerMapping extends AbstractUrlHandlerMapping {
return super.getHandler(exchange).map(o -> {
if (o instanceof RouteHolder) {
RouteHolder holder = (RouteHolder) o;
exchange.getAttributes().put("gatewayRoute", holder.route);
exchange.getAttributes().put(GatewayFilter.GATEWAY_ROUTE_ATTR, holder.route);
return holder.webHandler;
}
return o;

5
src/main/java/org/springframework/cloud/gateway/GatewayWebHandler.java

@ -13,6 +13,8 @@ import reactor.core.publisher.Mono; @@ -13,6 +13,8 @@ import reactor.core.publisher.Mono;
import java.net.URI;
import java.util.Optional;
import static org.springframework.cloud.gateway.GatewayFilter.GATEWAY_REQUEST_URL_ATTR;
/**
* @author Spencer Gibb
*/
@ -28,8 +30,7 @@ public class GatewayWebHandler implements WebHandler { @@ -28,8 +30,7 @@ public class GatewayWebHandler implements WebHandler {
@Override
public Mono<Void> handle(ServerWebExchange exchange) {
//TODO: move to constant
Optional<URI> requestUrl = exchange.getAttribute("requestUrl");
Optional<URI> requestUrl = exchange.getAttribute(GATEWAY_REQUEST_URL_ATTR);
ServerHttpRequest request = exchange.getRequest();
ClientRequest<Void> clientRequest = ClientRequest
.method(request.getMethod(), requestUrl.get())

14
src/main/java/org/springframework/cloud/gateway/filters/RouteToUrlFilter.java

@ -20,6 +20,7 @@ import reactor.core.publisher.Mono; @@ -20,6 +20,7 @@ import reactor.core.publisher.Mono;
public class RouteToUrlFilter implements GatewayFilter, Ordered {
private static final Log log = LogFactory.getLog(RouteToUrlFilter.class);
public static final int ROUTE_TO_URL_FILTER_ORDER = 500;
private final GatewayProperties properties;
@ -29,23 +30,21 @@ public class RouteToUrlFilter implements GatewayFilter, Ordered { @@ -29,23 +30,21 @@ public class RouteToUrlFilter implements GatewayFilter, Ordered {
@Override
public int getOrder() {
// TODO: move to constant
return 500;
return ROUTE_TO_URL_FILTER_ORDER;
}
// TODO: do we really need shouldFilter or just move the if into filter?
@Override
public boolean shouldFilter(ServerWebExchange exchange) {
//TODO: move to constant
return exchange.getAttributes().containsKey("gatewayRoute");
return exchange.getAttributes().containsKey(GATEWAY_ROUTE_ATTR);
}
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
log.info("RouteToUrlFilter start");
Object gatewayRoute = exchange.getAttributes().get("gatewayRoute");
Object gatewayRoute = exchange.getAttributes().get(GATEWAY_ROUTE_ATTR);
if (!(gatewayRoute instanceof Route)) {
return Mono.error(new IllegalStateException("gatewayRoute" +
return Mono.error(new IllegalStateException(GATEWAY_ROUTE_ATTR +
" not an instance of " + Route.class.getSimpleName() +
", is " + gatewayRoute.getClass()));
}
@ -54,8 +53,7 @@ public class RouteToUrlFilter implements GatewayFilter, Ordered { @@ -54,8 +53,7 @@ public class RouteToUrlFilter implements GatewayFilter, Ordered {
.uri(route.getDownstreamUrl())
.build(true)
.toUri();
//TODO: move to constant
exchange.getAttributes().put("requestUrl", requestUrl);
exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, requestUrl);
return chain.filter(exchange);
}

Loading…
Cancel
Save