Ver código fonte

添加过滤

郭志波 5 anos atrás
pai
commit
820b191d0a

+ 1 - 24
src/main/java/com/leanwo/gateway/GlobalAccountFilter.java

@@ -58,29 +58,6 @@ public class GlobalAccountFilter implements GlobalFilter, Ordered{
         ServerHttpRequest request = exchange.getRequest();
         //原始uri
         URI originUri = request.getURI();
-        //构造器
-        ServerHttpRequest.Builder mutate = request.mutate();
-        //需要重定向的uri
-        String forwardedUri = originUri.toString();
-        if (StringUtils.startsWith(forwardedUri, "https")) {
-            try {
-                //重新生成http请求方式的uri
-                URI uri = new URI(
-                        "http",
-                        originUri.getUserInfo(),
-                        originUri.getHost(),
-                        originUri.getPort(),
-                        originUri.getPath(),
-                        originUri.getQuery(),
-                        originUri.getFragment()
-                );
-                mutate.uri(uri);
-            } catch (URISyntaxException e) {
-                throw new IllegalStateException(e.getMessage(), e);
-            }
-        }
-        //重新构建
-        ServerHttpRequest build = mutate.build();
         
         String url = originUri.toString();
         String path = request.getPath().toString();
@@ -94,7 +71,7 @@ public class GlobalAccountFilter implements GlobalFilter, Ordered{
     	
     	request.mutate().header("account", accountId.toString()).build();
     	//代表放行请求
-        return chain.filter(exchange.mutate().request(build).build());
+        return chain.filter(exchange);
 	}
 	
 }

+ 0 - 52
src/main/java/com/leanwo/gateway/HttpSchemeFilter.java

@@ -1,52 +0,0 @@
-package com.leanwo.gateway;
-
-import java.net.URI;
-
-import org.apache.commons.lang.StringUtils;
-import org.springframework.cloud.gateway.filter.GatewayFilterChain;
-import org.springframework.cloud.gateway.filter.GlobalFilter;
-import org.springframework.cloud.gateway.filter.LoadBalancerClientFilter;
-import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
-import org.springframework.core.Ordered;
-import org.springframework.stereotype.Component;
-import org.springframework.web.server.ServerWebExchange;
-import org.springframework.web.util.UriComponentsBuilder;
-
-import reactor.core.publisher.Mono;
-
-@Component
-public class HttpSchemeFilter implements GlobalFilter, Ordered{
-	@Override
-    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
-        //获取uri
-        Object uriObj = exchange.getAttributes().get(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR);
-        if (uriObj instanceof URI) {
-            URI uri = (URI) uriObj;
-            //替换为http
-            uri = upgradeConnection(uri, "http");
-            exchange.getAttributes().put(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR, uri);
-        }
-
-        return chain.filter(exchange);
-    }
-
-    /**
-     * 更新scheme
-     *
-     * @param uri
-     * @param scheme
-     * @return
-     */
-    private URI upgradeConnection(URI uri, String scheme) {
-        UriComponentsBuilder builder = UriComponentsBuilder.fromUri(uri).scheme(scheme);
-        if (!StringUtils.isEmpty(uri.getRawQuery())) {
-            builder.replaceQueryParam(uri.getRawQuery().replace("+", "%20"));
-        }
-        return builder.build(true).toUri();
-    }
-
-    @Override
-    public int getOrder() {
-        return LoadBalancerClientFilter.LOAD_BALANCER_CLIENT_FILTER_ORDER + 1;
-    }
-}