|
|
|
@ -111,7 +111,7 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
|
|
|
|
|
StringBuilder matchPath = new StringBuilder();
|
|
|
|
|
StringBuilder realPath = new StringBuilder();
|
|
|
|
|
int index = 2;
|
|
|
|
|
matchPath.append(request.getMethodValue()).append("|");
|
|
|
|
|
matchPath.append(request.getMethod().name()).append("|");
|
|
|
|
|
for (int i = index; i < pathSegments.length; i++) {
|
|
|
|
|
matchPath.append("/").append(pathSegments[i]);
|
|
|
|
|
realPath.append("/").append(pathSegments[i]);
|
|
|
|
@ -131,15 +131,17 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
|
|
|
|
|
String[] pathSegments = path.split("/");
|
|
|
|
|
StringBuilder matchPath = new StringBuilder();
|
|
|
|
|
int index = 2;
|
|
|
|
|
matchPath.append(request.getMethodValue()).append("|");
|
|
|
|
|
matchPath.append(request.getMethod().name()).append("|");
|
|
|
|
|
|
|
|
|
|
Position namespacePosition = groupContext.getPredicate().getNamespace().getPosition();
|
|
|
|
|
switch (namespacePosition) {
|
|
|
|
|
case QUERY:
|
|
|
|
|
matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey()));
|
|
|
|
|
matchPath.append("/")
|
|
|
|
|
.append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey()));
|
|
|
|
|
break;
|
|
|
|
|
case HEADER:
|
|
|
|
|
matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey()));
|
|
|
|
|
matchPath.append("/")
|
|
|
|
|
.append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey()));
|
|
|
|
|
break;
|
|
|
|
|
case PATH:
|
|
|
|
|
default:
|
|
|
|
@ -149,10 +151,12 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
|
|
|
|
|
Position servicePosition = groupContext.getPredicate().getService().getPosition();
|
|
|
|
|
switch (servicePosition) {
|
|
|
|
|
case QUERY:
|
|
|
|
|
matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey()));
|
|
|
|
|
matchPath.append("/")
|
|
|
|
|
.append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey()));
|
|
|
|
|
break;
|
|
|
|
|
case HEADER:
|
|
|
|
|
matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey()));
|
|
|
|
|
matchPath.append("/")
|
|
|
|
|
.append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey()));
|
|
|
|
|
break;
|
|
|
|
|
case PATH:
|
|
|
|
|
default:
|
|
|
|
|