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) {