Commit 34f571e8 by Nepxion

修复Feign上下文的Bug

parent 52c1a804
...@@ -37,16 +37,23 @@ public class FeignStrategyInterceptor implements RequestInterceptor { ...@@ -37,16 +37,23 @@ public class FeignStrategyInterceptor implements RequestInterceptor {
@Override @Override
public void apply(RequestTemplate requestTemplate) { public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
return;
}
HttpServletRequest request = attributes.getRequest(); HttpServletRequest request = attributes.getRequest();
Enumeration<String> headerNames = request.getHeaderNames(); Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) { if (headerNames == null) {
while (headerNames.hasMoreElements()) { return;
String headerName = headerNames.nextElement(); }
String header = request.getHeader(headerName);
while (headerNames.hasMoreElements()) {
if (feignHeaders.contains(headerName)) { String headerName = headerNames.nextElement();
requestTemplate.header(headerName, header); String header = request.getHeader(headerName);
}
if (feignHeaders.contains(headerName)) {
requestTemplate.header(headerName, header);
} }
} }
} }
......
...@@ -65,6 +65,10 @@ public class MyDiscoveryEnabledAdapter implements DiscoveryEnabledAdapter { ...@@ -65,6 +65,10 @@ public class MyDiscoveryEnabledAdapter implements DiscoveryEnabledAdapter {
private boolean applyFromHeader(Server server, Map<String, String> metadata) { private boolean applyFromHeader(Server server, Map<String, String> metadata) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
return true;
}
String token = attributes.getRequest().getHeader("token"); String token = attributes.getRequest().getHeader("token");
// String value = attributes.getRequest().getParameter("value"); // String value = attributes.getRequest().getParameter("value");
......
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