Commit 295d201e by Nepxion

修正Header从配置文件读取后contains的Bug

parent 2e423bcd
...@@ -13,9 +13,11 @@ import feign.RequestInterceptor; ...@@ -13,9 +13,11 @@ import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -23,24 +25,26 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -23,24 +25,26 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import com.nepxion.discovery.common.constant.DiscoveryConstant;
import com.nepxion.discovery.common.util.StringUtil;
import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant; import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant;
import com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder; import com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder;
public class FeignStrategyInterceptor implements RequestInterceptor { public class FeignStrategyInterceptor implements RequestInterceptor {
private static final Logger LOG = LoggerFactory.getLogger(FeignStrategyInterceptor.class); private static final Logger LOG = LoggerFactory.getLogger(FeignStrategyInterceptor.class);
private String requestHeaders;
@Autowired @Autowired
private ConfigurableEnvironment environment; private ConfigurableEnvironment environment;
@Autowired @Autowired
private ServiceStrategyContextHolder serviceStrategyContextHolder; private ServiceStrategyContextHolder serviceStrategyContextHolder;
private List<String> requestHeaderList;
public FeignStrategyInterceptor(String requestHeaders) { public FeignStrategyInterceptor(String requestHeaders) {
LOG.info("------------- Feign Intercept Information -----------"); LOG.info("------------- Feign Intercept Information -----------");
if (StringUtils.isNotEmpty(requestHeaders)) { if (StringUtils.isNotEmpty(requestHeaders)) {
this.requestHeaders = requestHeaders.toLowerCase(); requestHeaderList = StringUtil.splitToList(requestHeaders.toLowerCase(), DiscoveryConstant.SEPARATE);
} }
LOG.info("Feign intercepted headers are {}", StringUtils.isNotEmpty(requestHeaders) ? requestHeaders : "empty"); LOG.info("Feign intercepted headers are {}", StringUtils.isNotEmpty(requestHeaders) ? requestHeaders : "empty");
LOG.info("-------------------------------------------------"); LOG.info("-------------------------------------------------");
...@@ -48,7 +52,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor { ...@@ -48,7 +52,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
@Override @Override
public void apply(RequestTemplate requestTemplate) { public void apply(RequestTemplate requestTemplate) {
if (StringUtils.isEmpty(requestHeaders)) { if (CollectionUtils.isEmpty(requestHeaderList)) {
return; return;
} }
...@@ -71,7 +75,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor { ...@@ -71,7 +75,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
String headerName = headerNames.nextElement(); String headerName = headerNames.nextElement();
String header = previousRequest.getHeader(headerName); String header = previousRequest.getHeader(headerName);
if (requestHeaders.contains(headerName.toLowerCase())) { if (requestHeaderList.contains(headerName.toLowerCase())) {
if (interceptLogPrint) { if (interceptLogPrint) {
LOG.info("{}={}", headerName, header); LOG.info("{}={}", headerName, header);
} }
......
...@@ -11,9 +11,11 @@ package com.nepxion.discovery.plugin.strategy.service.aop; ...@@ -11,9 +11,11 @@ package com.nepxion.discovery.plugin.strategy.service.aop;
import java.io.IOException; import java.io.IOException;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -26,24 +28,26 @@ import org.springframework.http.client.ClientHttpRequestInterceptor; ...@@ -26,24 +28,26 @@ import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse; import org.springframework.http.client.ClientHttpResponse;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import com.nepxion.discovery.common.constant.DiscoveryConstant;
import com.nepxion.discovery.common.util.StringUtil;
import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant; import com.nepxion.discovery.plugin.strategy.service.constant.ServiceStrategyConstant;
import com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder; import com.nepxion.discovery.plugin.strategy.service.context.ServiceStrategyContextHolder;
public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterceptor { public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterceptor {
private static final Logger LOG = LoggerFactory.getLogger(RestTemplateStrategyInterceptor.class); private static final Logger LOG = LoggerFactory.getLogger(RestTemplateStrategyInterceptor.class);
private String requestHeaders;
@Autowired @Autowired
private ConfigurableEnvironment environment; private ConfigurableEnvironment environment;
@Autowired @Autowired
private ServiceStrategyContextHolder serviceStrategyContextHolder; private ServiceStrategyContextHolder serviceStrategyContextHolder;
private List<String> requestHeaderList;
public RestTemplateStrategyInterceptor(String requestHeaders) { public RestTemplateStrategyInterceptor(String requestHeaders) {
LOG.info("------------- RestTemplate Intercept Information -----------"); LOG.info("------------- RestTemplate Intercept Information -----------");
if (StringUtils.isNotEmpty(requestHeaders)) { if (StringUtils.isNotEmpty(requestHeaders)) {
this.requestHeaders = requestHeaders.toLowerCase(); requestHeaderList = StringUtil.splitToList(requestHeaders.toLowerCase(), DiscoveryConstant.SEPARATE);
} }
LOG.info("RestTemplate intercepted headers are {}", StringUtils.isNotEmpty(requestHeaders) ? requestHeaders : "empty"); LOG.info("RestTemplate intercepted headers are {}", StringUtils.isNotEmpty(requestHeaders) ? requestHeaders : "empty");
LOG.info("-------------------------------------------------"); LOG.info("-------------------------------------------------");
...@@ -51,7 +55,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce ...@@ -51,7 +55,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
@Override @Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
if (StringUtils.isEmpty(requestHeaders)) { if (CollectionUtils.isEmpty(requestHeaderList)) {
return execution.execute(request, body); return execution.execute(request, body);
} }
...@@ -75,7 +79,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce ...@@ -75,7 +79,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
String headerName = headerNames.nextElement(); String headerName = headerNames.nextElement();
String header = previousRequest.getHeader(headerName); String header = previousRequest.getHeader(headerName);
if (requestHeaders.contains(headerName.toLowerCase())) { if (requestHeaderList.contains(headerName.toLowerCase())) {
if (interceptLogPrint) { if (interceptLogPrint) {
LOG.info("{}={}", headerName, header); LOG.info("{}={}", headerName, header);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment