package cc.mrbird.febs.gateway.enhance.utils; import cc.mrbird.febs.common.core.entity.constant.FebsConstant; /** * @author MrBird */ public abstract class RouteEnhanceCacheUtil { private static final String BLACKLIST_CHACHE_KEY_PREFIX = "febs:route:blacklist:"; private static final String RATELIMIT_CACHE_KEY_PREFIX = "febs:route:ratelimit:"; private static final String RATELIMIT_COUNT_KEY_PREFIX = "febs:route:ratelimit:cout:"; public static String getBlackListCacheKey(String ip) { if (FebsConstant.LOCALHOST.equalsIgnoreCase(ip)) { ip = FebsConstant.LOCALHOST_IP; } return String.format("%s%s", BLACKLIST_CHACHE_KEY_PREFIX, ip); } public static String getBlackListCacheKey() { return String.format("%sall", BLACKLIST_CHACHE_KEY_PREFIX); } public static String getRateLimitCacheKey(String uri, String method) { return String.format("%s%s:%s", RATELIMIT_CACHE_KEY_PREFIX, uri, method); } public static String getRateLimitCountKey(String uri, String ip) { return String.format("%s%s:%s", RATELIMIT_COUNT_KEY_PREFIX, uri, ip); } }