Skip to content

Commit ab6a28c

Browse files
committed
代码优化
1 parent e9c2102 commit ab6a28c

File tree

27 files changed

+95
-48
lines changed

27 files changed

+95
-48
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<groupId>cn.springcloud.gray</groupId>
1313
<artifactId>spring-cloud-gray</artifactId>
1414
<packaging>pom</packaging>
15-
<version>A.1.0.8</version>
15+
<version>A.1.0.9</version>
1616
<url>https://github.com/SpringCloud/spring-cloud-gray</url>
1717
<organization>
1818
<name>Spring Cloud中国社区</name>

spring-cloud-gray-client-netflix/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.0.8</version>
8+
<version>A.1.0.9</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/zuul/ZuulRequestInterceptor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,21 @@ public boolean pre(GrayRequest request) {
2929
RequestContext context = (RequestContext) request.getAttribute(
3030
GrayPreZuulFilter.GRAY_REQUEST_ATTRIBUTE_NAME_ZUUL_REQUEST_CONTEXT);
3131
if (StringUtils.isNotEmpty(grayTrack.getUri())) {
32-
context.addZuulRequestHeader(GrayHttpTrackInfo.GRAY_TRACK_URI, grayTrack.getUri());
32+
context.getZuulRequestHeaders().put(GrayHttpTrackInfo.GRAY_TRACK_URI, grayTrack.getUri());
3333
}
3434
if (StringUtils.isNotEmpty(grayTrack.getTraceIp())) {
35-
context.addZuulRequestHeader(GrayHttpTrackInfo.GRAY_TRACK_TRACE_IP, grayTrack.getTraceIp());
35+
context.getZuulRequestHeaders().put(GrayHttpTrackInfo.GRAY_TRACK_TRACE_IP, grayTrack.getTraceIp());
3636
}
3737
if (StringUtils.isNotEmpty(grayTrack.getMethod())) {
38-
context.addZuulRequestHeader(GrayHttpTrackInfo.GRAY_TRACK_METHOD, grayTrack.getMethod());
38+
context.getZuulRequestHeaders().put(GrayHttpTrackInfo.GRAY_TRACK_METHOD, grayTrack.getMethod());
3939
}
4040
if (grayTrack.getParameters() != null && !grayTrack.getParameters().isEmpty()) {
4141
grayTrack.getParameters().entrySet().forEach(entry -> {
4242
String name = new StringBuilder().append(GrayHttpTrackInfo.GRAY_TRACK_PARAMETER_PREFIX)
4343
.append(GrayTrackInfo.GRAY_TRACK_SEPARATE)
4444
.append(entry.getKey()).toString();
4545
entry.getValue().forEach(v -> {
46-
context.addZuulRequestHeader(name, v);
46+
context.getZuulRequestHeaders().put(name, v);
4747
});
4848
});
4949
}
@@ -53,7 +53,7 @@ public boolean pre(GrayRequest request) {
5353
.append(GrayTrackInfo.GRAY_TRACK_SEPARATE)
5454
.append(entry.getKey()).toString();
5555
entry.getValue().forEach(v -> {
56-
context.addZuulRequestHeader(name, v);
56+
context.getZuulRequestHeaders().put(name, v);
5757
});
5858
});
5959
}
@@ -64,7 +64,7 @@ public boolean pre(GrayRequest request) {
6464
String name = new StringBuilder().append(GrayTrackInfo.GRAY_TRACK_ATTRIBUTE_PREFIX)
6565
.append(GrayTrackInfo.GRAY_TRACK_SEPARATE)
6666
.append(entry.getKey()).toString();
67-
context.addZuulRequestHeader(name, entry.getValue());
67+
context.getZuulRequestHeaders().put(name, entry.getValue());
6868
});
6969
}
7070

spring-cloud-gray-client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.0.8</version>
8+
<version>A.1.0.9</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/decision/factory/FlowRateGrayDecisionFactory.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private void initFieldGetters() {
6060
(grayReq, field) -> {
6161
GrayHttpTrackInfo grayHttpTrackInfo = ((GrayHttpTrackInfo) grayReq.getGrayTrackInfo());
6262
if (!Objects.isNull(grayHttpTrackInfo)) {
63-
return getValueForMultiValueMap(grayHttpTrackInfo.getHeaders(), field);
63+
return joinString(grayHttpTrackInfo.getHeader(field));
6464
}
6565
return null;
6666
});
@@ -69,7 +69,7 @@ private void initFieldGetters() {
6969
(grayReq, field) -> {
7070
GrayHttpTrackInfo grayHttpTrackInfo = ((GrayHttpTrackInfo) grayReq.getGrayTrackInfo());
7171
if (!Objects.isNull(grayHttpTrackInfo)) {
72-
return getValueForMultiValueMap(grayHttpTrackInfo.getParameters(), field);
72+
return joinString(grayHttpTrackInfo.getParameter(field));
7373
}
7474
return null;
7575
});
@@ -84,7 +84,10 @@ private String getFieldValue(GrayHttpRequest grayRequest, Config configBean) {
8484
}
8585

8686
private String getValueForMultiValueMap(Map<String, ? extends Collection<String>> map, String field) {
87-
Collection<String> collection = map.get(field);
87+
return joinString(map.get(field));
88+
}
89+
90+
private String joinString(Collection<String> collection) {
8891
if (collection != null) {
8992
return StringUtils.join(collection, ",");
9093
}

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/decision/factory/HttpTrackHeaderGrayDecisionFactory.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import cn.springcloud.gray.request.GrayHttpTrackInfo;
77

88
import java.util.Collection;
9-
import java.util.Map;
109

1110
public class HttpTrackHeaderGrayDecisionFactory extends CompareGrayDecisionFactory<HttpHeaderGrayDecisionFactory.Config> {
1211

@@ -22,13 +21,12 @@ public GrayDecision apply(HttpHeaderGrayDecisionFactory.Config configBean) {
2221
return false;
2322
}
2423

25-
Map<String, ? extends Collection<String>> headers = grayTrackInfo.getHeaders();
2624
PredicateComparator<Collection<String>> predicateComparator =
2725
Comparators.getCollectionStringComparator(configBean.getCompareMode());
2826
if (predicateComparator == null) {
2927
return false;
3028
}
31-
return predicateComparator.test(headers.get(configBean.getHeader()), configBean.getValues());
29+
return predicateComparator.test(grayTrackInfo.getHeader(configBean.getHeader()), configBean.getValues());
3230
};
3331
}
3432
}

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/decision/factory/HttpTrackParameterGrayDecisionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public GrayDecision apply(HttpParameterGrayDecisionFactory.Config configBean) {
2626
if (predicateComparator == null) {
2727
return false;
2828
}
29-
return predicateComparator.test(grayTrackInfo.getParameters().get(configBean.getName()), configBean.getValues());
29+
return predicateComparator.test(grayTrackInfo.getParameter(configBean.getName()), configBean.getValues());
3030
};
3131
}
3232
}

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/request/GrayHttpTrackInfo.java

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package cn.springcloud.gray.request;
22

3-
import lombok.Builder;
43
import lombok.Getter;
54
import lombok.Setter;
5+
import org.apache.commons.collections.MapUtils;
66
import org.springframework.http.HttpHeaders;
7-
import org.springframework.http.HttpMethod;
87
import org.springframework.util.LinkedMultiValueMap;
98
import org.springframework.util.MultiValueMap;
109

1110
import java.util.List;
11+
import java.util.Map;
12+
import java.util.Set;
1213

13-
@Getter
1414
public class GrayHttpTrackInfo extends GrayTrackInfo {
1515

1616
public static final String GRAY_TRACK_HEADER_PREFIX = GRAY_TRACK_PREFIX + "header";
@@ -23,26 +23,52 @@ public class GrayHttpTrackInfo extends GrayTrackInfo {
2323

2424
private HttpHeaders headers = new HttpHeaders();
2525
@Setter
26+
@Getter
2627
private String method;
2728
private MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
2829
@Setter
30+
@Getter
2931
private String uri;
3032

3133
public void addHeader(String name, String value) {
32-
headers.add(name, value);
34+
headers.add(name.toLowerCase(), value);
3335
}
3436

3537
public void setHeader(String name, List<String> values) {
36-
headers.put(name, values);
38+
headers.put(name.toLowerCase(), values);
39+
}
40+
41+
public List<String> getHeader(String name) {
42+
return headers.get(name.toLowerCase());
3743
}
3844

3945

4046
public void addParameter(String name, String value) {
41-
parameters.add(name, value);
47+
parameters.add(name.toLowerCase(), value);
4248
}
4349

4450
public void setParameters(String name, List<String> value) {
45-
parameters.put(name, value);
51+
parameters.put(name.toLowerCase(), value);
52+
}
53+
54+
public List<String> getParameter(String name) {
55+
return parameters.get(name.toLowerCase());
56+
}
57+
58+
public Set<String> headerNames() {
59+
return headers.keySet();
60+
}
61+
62+
public Set<String> parameterNames() {
63+
return parameters.keySet();
64+
}
65+
66+
public Map<String, List<String>> getHeaders() {
67+
return MapUtils.unmodifiableMap(headers);
68+
}
69+
70+
public Map<String, List<String>> getParameters() {
71+
return MapUtils.unmodifiableMap(parameters);
4672
}
4773

4874

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/request/GrayTrackInfo.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ public class GrayTrackInfo {
1313

1414
public static final String GRAY_TRACK_SEPARATE = "__";
1515

16-
public static final String GRAY_TRACK_PREFIX = "_G_T_";
16+
public static final String GRAY_TRACK_PREFIX = "_g_t_";
1717

18-
public static final String GRAY_TRACK_TRACE_IP = GRAY_TRACK_PREFIX + "traceIP";
18+
public static final String GRAY_TRACK_TRACE_IP = GRAY_TRACK_PREFIX + "trace_ip";
1919

2020
public static final String GRAY_TRACK_ATTRIBUTE_PREFIX = GRAY_TRACK_PREFIX + "attr";
2121

@@ -25,11 +25,11 @@ public class GrayTrackInfo {
2525
private Map<String, String> attributes = new HashMap<>(32);
2626

2727
public String getAttribute(String name) {
28-
return attributes.get(name);
28+
return attributes.get(name.toLowerCase());
2929
}
3030

3131
public void setAttribute(String name, String value) {
32-
attributes.put(name, value);
32+
attributes.put(name.toLowerCase(), value);
3333
}
3434

3535

spring-cloud-gray-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.0.8</version>
8+
<version>A.1.0.9</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

0 commit comments

Comments
 (0)