|
@@ -18,7 +18,6 @@
|
|
|
package com.pig4cloud.pigx.gateway.filter;
|
|
|
|
|
|
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
|
|
-import com.pig4cloud.pigx.gateway.config.SwaggerProvider;
|
|
|
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
|
|
|
import org.springframework.cloud.gateway.filter.GlobalFilter;
|
|
|
import org.springframework.core.Ordered;
|
|
@@ -42,7 +41,8 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.a
|
|
|
* <p>
|
|
|
* 1. 对请求头中参数进行处理 from 参数进行清洗
|
|
|
* 2. 重写StripPrefix = 1,支持全局
|
|
|
- * 3. 支持swagger添加X-Forwarded-Prefix header
|
|
|
+ * <p>
|
|
|
+ * 支持swagger添加X-Forwarded-Prefix header (F SR2 已经支持,不需要自己维护)
|
|
|
*/
|
|
|
@Component
|
|
|
public class PigxRequestGlobalFilter implements GlobalFilter, Ordered {
|
|
@@ -73,15 +73,8 @@ public class PigxRequestGlobalFilter implements GlobalFilter, Ordered {
|
|
|
.build();
|
|
|
exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, newRequest.getURI());
|
|
|
|
|
|
- // 3. 支持swagger添加X-Forwarded-Prefix header
|
|
|
- String path = request.getURI().getPath();
|
|
|
- if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
|
|
|
- return chain.filter(exchange.mutate().request(newRequest).build());
|
|
|
- }
|
|
|
- String basePath = path.substring(0, path.lastIndexOf(SwaggerProvider.API_URI));
|
|
|
return chain.filter(exchange.mutate()
|
|
|
.request(newRequest.mutate()
|
|
|
- .header(HEADER_NAME, basePath)
|
|
|
.build()).build());
|
|
|
}
|
|
|
|