Compatible with older versions
This commit is contained in:
parent
5d428a2366
commit
721c5a4a58
@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.alibaba.nacos.core.utils;
|
||||
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -71,4 +72,20 @@ public class WebUtils {
|
||||
encode = encode.contains(",") ? encode.substring(0, encode.indexOf(",")) : encode;
|
||||
return encode.contains(";") ? encode.substring(0, encode.indexOf(";")) : encode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value of the request header "user-agent" as a <code>String</code>.
|
||||
*
|
||||
* @param request HttpServletRequest
|
||||
* @return the value of the request header "user-agent", or the value of the
|
||||
* request header "client-version" if the request does not have a
|
||||
* header of "user-agent"
|
||||
*/
|
||||
public static String getUserAgent(HttpServletRequest request) {
|
||||
String userAgent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
if (StringUtils.isEmpty(userAgent)) {
|
||||
userAgent = StringUtils.defaultIfEmpty(request.getHeader(HttpHeaderConsts.CLIENT_VERSION_HEADER), StringUtils.EMPTY);
|
||||
}
|
||||
return userAgent;
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,6 @@ package com.alibaba.nacos.naming.acl;
|
||||
|
||||
import com.alibaba.nacos.api.common.Constants;
|
||||
import com.alibaba.nacos.api.naming.CommonParams;
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import com.alibaba.nacos.core.utils.WebUtils;
|
||||
import com.alibaba.nacos.naming.core.Service;
|
||||
import com.alibaba.nacos.naming.core.ServiceManager;
|
||||
@ -53,7 +52,7 @@ public class AuthChecker {
|
||||
return;
|
||||
}
|
||||
|
||||
String agent = req.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(req);
|
||||
if (StringUtils.startsWith(agent, UtilsAndCommons.NACOS_SERVER_HEADER)) {
|
||||
return;
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.nacos.api.common.Constants;
|
||||
import com.alibaba.nacos.api.naming.CommonParams;
|
||||
import com.alibaba.nacos.api.naming.utils.NamingUtils;
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import com.alibaba.nacos.core.utils.WebUtils;
|
||||
import com.alibaba.nacos.naming.core.DistroMapper;
|
||||
import com.alibaba.nacos.naming.core.ServiceManager;
|
||||
@ -62,7 +61,7 @@ public class ApiController extends InstanceController {
|
||||
JSONObject result = new JSONObject();
|
||||
// For old DNS-F client:
|
||||
String dnsfVersion = "1.0.1";
|
||||
String agent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(request);
|
||||
ClientInfo clientInfo = new ClientInfo(agent);
|
||||
if (clientInfo.type == ClientInfo.ClientType.DNS &&
|
||||
clientInfo.version.compareTo(VersionUtil.parseVersion(dnsfVersion)) <= 0) {
|
||||
@ -123,7 +122,7 @@ public class ApiController extends InstanceController {
|
||||
Constants.DEFAULT_NAMESPACE_ID);
|
||||
|
||||
String dom = WebUtils.required(request, "dom");
|
||||
String agent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(request);
|
||||
String clusters = WebUtils.optional(request, "clusters", StringUtils.EMPTY);
|
||||
String clientIP = WebUtils.optional(request, "clientIP", StringUtils.EMPTY);
|
||||
Integer udpPort = Integer.parseInt(WebUtils.optional(request, "udpPort", "0"));
|
||||
|
@ -21,7 +21,6 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.nacos.api.common.Constants;
|
||||
import com.alibaba.nacos.api.naming.CommonParams;
|
||||
import com.alibaba.nacos.api.naming.utils.NamingUtils;
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import com.alibaba.nacos.core.utils.WebUtils;
|
||||
import com.alibaba.nacos.naming.core.DistroMapper;
|
||||
import com.alibaba.nacos.naming.core.Instance;
|
||||
@ -127,7 +126,7 @@ public class InstanceController {
|
||||
String serviceName = WebUtils.required(request, CommonParams.SERVICE_NAME);
|
||||
String namespaceId = WebUtils.optional(request, CommonParams.NAMESPACE_ID, Constants.DEFAULT_NAMESPACE_ID);
|
||||
|
||||
String agent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(request);
|
||||
|
||||
ClientInfo clientInfo = new ClientInfo(agent);
|
||||
|
||||
@ -147,7 +146,7 @@ public class InstanceController {
|
||||
Constants.DEFAULT_NAMESPACE_ID);
|
||||
|
||||
String serviceName = WebUtils.required(request, CommonParams.SERVICE_NAME);
|
||||
String agent = request.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(request);
|
||||
String clusters = WebUtils.optional(request, "clusters", StringUtils.EMPTY);
|
||||
String clientIP = WebUtils.optional(request, "clientIP", StringUtils.EMPTY);
|
||||
Integer udpPort = Integer.parseInt(WebUtils.optional(request, "udpPort", "0"));
|
||||
|
@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.alibaba.nacos.naming.web;
|
||||
|
||||
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
|
||||
import com.alibaba.nacos.common.util.HttpMethod;
|
||||
import com.alibaba.nacos.core.utils.WebUtils;
|
||||
import com.alibaba.nacos.naming.cluster.ServerStatus;
|
||||
import com.alibaba.nacos.naming.cluster.ServerStatusManager;
|
||||
import com.alibaba.nacos.naming.misc.SwitchDomain;
|
||||
@ -71,7 +71,7 @@ public class TrafficReviseFilter implements Filter {
|
||||
}
|
||||
|
||||
// requests from peer server should be let pass:
|
||||
String agent = req.getHeader(HttpHeaderConsts.USER_AGENT_HEADER);
|
||||
String agent = WebUtils.getUserAgent(req);
|
||||
|
||||
if (StringUtils.startsWith(agent, UtilsAndCommons.NACOS_SERVER_HEADER)) {
|
||||
filterChain.doFilter(req, resp);
|
||||
|
Loading…
Reference in New Issue
Block a user