【fix sonar】 GlobalAccessTokenFilter.java文件

This commit is contained in:
tianwenbo
2023-03-10 09:46:53 +08:00
parent 47d90d98c7
commit cbb70f8283
@@ -9,6 +9,8 @@ import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import java.io.File;
import java.util.Arrays; import java.util.Arrays;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR; import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR;
@@ -20,12 +22,12 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.a
@Slf4j @Slf4j
@Component @Component
public class GlobalAccessTokenFilter implements GlobalFilter, Ordered { public class GlobalAccessTokenFilter implements GlobalFilter, Ordered {
public final static String X_ACCESS_TOKEN = "X-Access-Token"; public static final String X_ACCESS_TOKEN = "X-Access-Token";
public final static String X_GATEWAY_BASE_PATH = "X_GATEWAY_BASE_PATH"; public static final String X_GATEWAY_BASE_PATH = "X_GATEWAY_BASE_PATH";
@Override @Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
String url = exchange.getRequest().getURI().getPath(); // String url = exchange.getRequest().getURI().getPath();
// log.info(" access url : "+ url); // log.info(" access url : "+ url);
String scheme = exchange.getRequest().getURI().getScheme(); String scheme = exchange.getRequest().getURI().getScheme();
@@ -37,7 +39,7 @@ public class GlobalAccessTokenFilter implements GlobalFilter, Ordered {
// 1. 重写StripPrefix(获取真实的URL) // 1. 重写StripPrefix(获取真实的URL)
addOriginalRequestUrl(exchange, exchange.getRequest().getURI()); addOriginalRequestUrl(exchange, exchange.getRequest().getURI());
String rawPath = exchange.getRequest().getURI().getRawPath(); String rawPath = exchange.getRequest().getURI().getRawPath();
String newPath = "/" + Arrays.stream(StringUtils.tokenizeToStringArray(rawPath, "/")).skip(1L).collect(Collectors.joining("/")); String newPath = File.separator + Arrays.stream(StringUtils.tokenizeToStringArray(rawPath, File.separator)).skip(1L).collect(Collectors.joining("/"));
ServerHttpRequest newRequest = exchange.getRequest().mutate().path(newPath).build(); ServerHttpRequest newRequest = exchange.getRequest().mutate().path(newPath).build();
exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, newRequest.getURI()); exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, newRequest.getURI());