in dubbo-admin-server/src/main/java/org/apache/dubbo/admin/model/store/mesh/virtualservice/DubboMatchRequest.java [86:118]
public static boolean isMatch(DubboMatchRequest dubboMatchRequest,
String methodName, String[] parameterTypeList, Object[] parameters,
Map<String, String> sourceLabels,
Map<String, String> eagleeyeContext, Map<String, String> dubboContext,
Map<String, String> headers
) {
if (dubboMatchRequest.getMethod() != null) {
if (!DubboMethodMatch.isMatch(dubboMatchRequest.getMethod(), methodName, parameterTypeList, parameters)) {
return false;
}
}
if (dubboMatchRequest.getSourceLabels() != null) {
for (Map.Entry<String, String> entry : dubboMatchRequest.getSourceLabels().entrySet()) {
String value = sourceLabels.get(entry.getKey());
if (value == null || !entry.getValue().equals(value)) {
return false;
}
}
}
if (dubboMatchRequest.getAttachments() != null) {
if (!DubboAttachmentMatch.isMatch(dubboMatchRequest.getAttachments(),eagleeyeContext,dubboContext)){
return false;
}
}
//TODO headers
return true;
}