|
|
@ -24,6 +24,8 @@ import java.util.Map;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
|
|
|
|
import com.tencent.cloud.polaris.ratelimit.spi.PolarisRateLimiterLabelServletResolver;
|
|
|
|
import com.tencent.cloud.polaris.ratelimit.spi.PolarisRateLimiterLabelServletResolver;
|
|
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
@ -35,7 +37,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Component
|
|
|
|
@Component
|
|
|
|
public class CustomLabelResolver implements PolarisRateLimiterLabelServletResolver {
|
|
|
|
public class CustomLabelResolver implements PolarisRateLimiterLabelServletResolver {
|
|
|
|
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(CustomLabelResolver.class);
|
|
|
|
@Value("${label.key-value:}")
|
|
|
|
@Value("${label.key-value:}")
|
|
|
|
private String[] keyValues;
|
|
|
|
private String[] keyValues;
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -49,10 +51,11 @@ public class CustomLabelResolver implements PolarisRateLimiterLabelServletResolv
|
|
|
|
Map<String, String> labels = new HashMap<>();
|
|
|
|
Map<String, String> labels = new HashMap<>();
|
|
|
|
for (String kv : keyValues) {
|
|
|
|
for (String kv : keyValues) {
|
|
|
|
String key = kv.substring(0, kv.indexOf(":"));
|
|
|
|
String key = kv.substring(0, kv.indexOf(":"));
|
|
|
|
String value = kv.substring(kv.indexOf(":"));
|
|
|
|
String value = kv.substring(kv.indexOf(":")+1);
|
|
|
|
labels.put(key, value);
|
|
|
|
labels.put(key, value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LOG.info("Current labels:{}", labels);
|
|
|
|
return labels;
|
|
|
|
return labels;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|