Commit 295d201e by Nepxion

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

parent 2e423bcd
......@@ -13,9 +13,11 @@ import feign.RequestInterceptor;
import feign.RequestTemplate;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -23,24 +25,26 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.ConfigurableEnvironment;
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.context.ServiceStrategyContextHolder;
public class FeignStrategyInterceptor implements RequestInterceptor {
private static final Logger LOG = LoggerFactory.getLogger(FeignStrategyInterceptor.class);
private String requestHeaders;
@Autowired
private ConfigurableEnvironment environment;
@Autowired
private ServiceStrategyContextHolder serviceStrategyContextHolder;
private List<String> requestHeaderList;
public FeignStrategyInterceptor(String requestHeaders) {
LOG.info("------------- Feign Intercept Information -----------");
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("-------------------------------------------------");
......@@ -48,7 +52,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
if (StringUtils.isEmpty(requestHeaders)) {
if (CollectionUtils.isEmpty(requestHeaderList)) {
return;
}
......@@ -71,7 +75,7 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
String headerName = headerNames.nextElement();
String header = previousRequest.getHeader(headerName);
if (requestHeaders.contains(headerName.toLowerCase())) {
if (requestHeaderList.contains(headerName.toLowerCase())) {
if (interceptLogPrint) {
LOG.info("{}={}", headerName, header);
}
......
......@@ -11,9 +11,11 @@ package com.nepxion.discovery.plugin.strategy.service.aop;
import java.io.IOException;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -26,24 +28,26 @@ import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse;
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.context.ServiceStrategyContextHolder;
public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterceptor {
private static final Logger LOG = LoggerFactory.getLogger(RestTemplateStrategyInterceptor.class);
private String requestHeaders;
@Autowired
private ConfigurableEnvironment environment;
@Autowired
private ServiceStrategyContextHolder serviceStrategyContextHolder;
private List<String> requestHeaderList;
public RestTemplateStrategyInterceptor(String requestHeaders) {
LOG.info("------------- RestTemplate Intercept Information -----------");
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("-------------------------------------------------");
......@@ -51,7 +55,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
@Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
if (StringUtils.isEmpty(requestHeaders)) {
if (CollectionUtils.isEmpty(requestHeaderList)) {
return execution.execute(request, body);
}
......@@ -75,7 +79,7 @@ public class RestTemplateStrategyInterceptor implements ClientHttpRequestInterce
String headerName = headerNames.nextElement();
String header = previousRequest.getHeader(headerName);
if (requestHeaders.contains(headerName.toLowerCase())) {
if (requestHeaderList.contains(headerName.toLowerCase())) {
if (interceptLogPrint) {
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