This is an automated email from the ASF dual-hosted git repository.

yui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 0cf771320 [type: refactor] refactor httpclient plugin. (#3264)
0cf771320 is described below

commit 0cf771320f2442d645335115e9fdb939872d4228
Author: Qicz <[email protected]>
AuthorDate: Mon Apr 18 17:26:02 2022 +0800

    [type: refactor] refactor httpclient plugin. (#3264)
    
    * [type: refactor] refactor httpclient plugin.
    
    * code polish
---
 .../plugin/httpclient/AbstractHttpClientPlugin.java    | 14 +++++++++++++-
 .../plugin/httpclient/NettyHttpClientPlugin.java       | 17 -----------------
 .../shenyu/plugin/httpclient/WebClientPlugin.java      | 18 ------------------
 3 files changed, 13 insertions(+), 36 deletions(-)

diff --git 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPlugin.java
 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPlugin.java
index c2e1b7587..28476b643 100644
--- 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPlugin.java
+++ 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/AbstractHttpClientPlugin.java
@@ -55,6 +55,7 @@ import java.util.Set;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * The type abstract http client plugin.
@@ -154,7 +155,18 @@ public abstract class AbstractHttpClientPlugin<R> 
implements ShenyuPlugin {
      * @param exchange the current server exchange
      * @return HttpHeaders
      */
-    protected abstract HttpHeaders buildHttpHeaders(ServerWebExchange 
exchange);
+    private HttpHeaders buildHttpHeaders(final ServerWebExchange exchange) {
+        final HttpHeaders headers = new HttpHeaders();
+        headers.addAll(exchange.getRequest().getHeaders());
+        // remove gzip
+        List<String> acceptEncoding = headers.get(HttpHeaders.ACCEPT_ENCODING);
+        if (CollectionUtils.isNotEmpty(acceptEncoding)) {
+            acceptEncoding = Stream.of(String.join(",", 
acceptEncoding).split(",")).collect(Collectors.toList());
+            acceptEncoding.remove(Constants.HTTP_ACCEPT_ENCODING_GZIP);
+            headers.set(HttpHeaders.ACCEPT_ENCODING, String.join(",", 
acceptEncoding));
+        }
+        return headers;
+    }
 
     /**
      * Process the Web request.
diff --git 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/NettyHttpClientPlugin.java
 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/NettyHttpClientPlugin.java
index 69c5f31d5..e7b018f3f 100644
--- 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/NettyHttpClientPlugin.java
+++ 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/NettyHttpClientPlugin.java
@@ -34,9 +34,6 @@ import reactor.netty.http.client.HttpClient;
 import reactor.netty.http.client.HttpClientResponse;
 
 import java.net.URI;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * The type Netty http client plugin.
@@ -54,20 +51,6 @@ public class NettyHttpClientPlugin extends 
AbstractHttpClientPlugin<HttpClientRe
         this.httpClient = httpClient;
     }
 
-    @Override
-    protected HttpHeaders buildHttpHeaders(final ServerWebExchange exchange) {
-        final HttpHeaders httpHeaders = new HttpHeaders();
-        httpHeaders.addAll(exchange.getRequest().getHeaders());
-        // remove gzip
-        String acceptEncoding = 
httpHeaders.getFirst(HttpHeaders.ACCEPT_ENCODING);
-        if (StringUtils.isNotBlank(acceptEncoding)) {
-            List<String> acceptEncodings = 
Stream.of(acceptEncoding.trim().split(",")).collect(Collectors.toList());
-            acceptEncodings.remove(Constants.HTTP_ACCEPT_ENCODING_GZIP);
-            httpHeaders.set(HttpHeaders.ACCEPT_ENCODING, String.join(",", 
acceptEncodings));
-        }
-        return httpHeaders;
-    }
-
     @Override
     protected Mono<HttpClientResponse> doRequest(final ServerWebExchange 
exchange, final String httpMethod, final URI uri,
                                 final HttpHeaders httpHeaders, final 
Flux<DataBuffer> body) {
diff --git 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/WebClientPlugin.java
 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/WebClientPlugin.java
index a1aa2d6d5..3b402b4e7 100644
--- 
a/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/WebClientPlugin.java
+++ 
b/shenyu-plugin/shenyu-plugin-httpclient/src/main/java/org/apache/shenyu/plugin/httpclient/WebClientPlugin.java
@@ -17,7 +17,6 @@
 
 package org.apache.shenyu.plugin.httpclient;
 
-import org.apache.commons.collections4.CollectionUtils;
 import org.apache.shenyu.common.constant.Constants;
 import org.apache.shenyu.common.enums.PluginEnum;
 import org.apache.shenyu.common.enums.ResultEnum;
@@ -32,9 +31,6 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
 import java.net.URI;
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * The type Web client plugin.
@@ -52,20 +48,6 @@ public class WebClientPlugin extends 
AbstractHttpClientPlugin<ClientResponse> {
         this.webClient = webClient;
     }
 
-    @Override
-    protected HttpHeaders buildHttpHeaders(final ServerWebExchange exchange) {
-        final HttpHeaders headers = new HttpHeaders();
-        headers.addAll(exchange.getRequest().getHeaders());
-        // remove gzip
-        List<String> acceptEncoding = headers.get(HttpHeaders.ACCEPT_ENCODING);
-        if (CollectionUtils.isNotEmpty(acceptEncoding)) {
-            acceptEncoding = Stream.of(String.join(",", 
acceptEncoding).split(",")).collect(Collectors.toList());
-            acceptEncoding.remove(Constants.HTTP_ACCEPT_ENCODING_GZIP);
-            headers.set(HttpHeaders.ACCEPT_ENCODING, String.join(",", 
acceptEncoding));
-        }
-        return headers;
-    }
-
     @Override
     protected Mono<ClientResponse> doRequest(final ServerWebExchange exchange, 
final String httpMethod, final URI uri,
                                              final HttpHeaders httpHeaders, 
final Flux<DataBuffer> body) {

Reply via email to