Optimize utils
This commit is contained in:
@@ -30,17 +30,14 @@ import we.stats.ResourceTimeWindowStat;
|
||||
import we.stats.TimeWindowStat;
|
||||
import we.stats.ratelimit.ResourceRateLimitConfig;
|
||||
import we.stats.ratelimit.ResourceRateLimitConfigService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.DateTimeUtils;
|
||||
import we.util.NetworkUtils;
|
||||
import we.util.ThreadContext;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
/**
|
||||
* @author hongqiaowei
|
||||
@@ -201,9 +198,9 @@ public class FlowStatSchedConfig extends SchedConfig {
|
||||
// long tbrs = (totalBlockRequests == null ? w.getBlockRequests() : w.getBlockRequests() + totalBlockRequests.longValue());
|
||||
long tbrs = w.getTotalBlockRequests();
|
||||
|
||||
b.append(Constants.Symbol.LEFT_BRACE);
|
||||
b.append(_ip); toJsonStringValue(b, ip); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_id); b.append(id); b.append(Constants.Symbol.COMMA);
|
||||
b.append(Consts.S.LEFT_BRACE);
|
||||
b.append(_ip); toJsonStringValue(b, ip); b.append(Consts.S.COMMA);
|
||||
b.append(_id); b.append(id); b.append(Consts.S.COMMA);
|
||||
|
||||
String r = null;
|
||||
if (type == ResourceRateLimitConfig.Type.NODE) {
|
||||
@@ -212,40 +209,40 @@ public class FlowStatSchedConfig extends SchedConfig {
|
||||
r = service;
|
||||
}
|
||||
if (r != null) {
|
||||
b.append(_resource); toJsonStringValue(b, r); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_resource); toJsonStringValue(b, r); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
b.append(_type); b.append(type); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_type); b.append(type); b.append(Consts.S.COMMA);
|
||||
|
||||
if (app != null) {
|
||||
b.append(_app); toJsonStringValue(b, app); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_app); toJsonStringValue(b, app); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
if (pi != null) {
|
||||
b.append(_sourceIp); toJsonStringValue(b, pi); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_sourceIp); toJsonStringValue(b, pi); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
if (service != null) {
|
||||
b.append(_service); toJsonStringValue(b, service); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_service); toJsonStringValue(b, service); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
if (path != null) {
|
||||
b.append(_path); toJsonStringValue(b, path); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_path); toJsonStringValue(b, path); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
b.append(_start); b.append(timeWin); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_reqs); b.append(w.getTotal()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_completeReqs); b.append(w.getCompReqs()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_peakConcurrents); b.append(w.getPeakConcurrentReqeusts()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_reqPerSec); b.append(qps); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_peakRps); b.append(pRps); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_blockReqs); b.append(w.getBlockRequests()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_totalBlockReqs); b.append(tbrs); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_errors); b.append(w.getErrors()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_avgRespTime); b.append(w.getAvgRt()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_maxRespTime); b.append(w.getMax()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_start); b.append(timeWin); b.append(Consts.S.COMMA);
|
||||
b.append(_reqs); b.append(w.getTotal()); b.append(Consts.S.COMMA);
|
||||
b.append(_completeReqs); b.append(w.getCompReqs()); b.append(Consts.S.COMMA);
|
||||
b.append(_peakConcurrents); b.append(w.getPeakConcurrentReqeusts()); b.append(Consts.S.COMMA);
|
||||
b.append(_reqPerSec); b.append(qps); b.append(Consts.S.COMMA);
|
||||
b.append(_peakRps); b.append(pRps); b.append(Consts.S.COMMA);
|
||||
b.append(_blockReqs); b.append(w.getBlockRequests()); b.append(Consts.S.COMMA);
|
||||
b.append(_totalBlockReqs); b.append(tbrs); b.append(Consts.S.COMMA);
|
||||
b.append(_errors); b.append(w.getErrors()); b.append(Consts.S.COMMA);
|
||||
b.append(_avgRespTime); b.append(w.getAvgRt()); b.append(Consts.S.COMMA);
|
||||
b.append(_maxRespTime); b.append(w.getMax()); b.append(Consts.S.COMMA);
|
||||
b.append(_minRespTime); b.append(w.getMin());
|
||||
b.append(Constants.Symbol.RIGHT_BRACE);
|
||||
b.append(Consts.S.RIGHT_BRACE);
|
||||
String msg = b.toString();
|
||||
if ("kafka".equals(flowStatSchedConfigProperties.getDest())) { // for internal use
|
||||
log.warn(msg, LogService.HANDLE_STGY, LogService.toKF(flowStatSchedConfigProperties.getQueue()));
|
||||
@@ -280,7 +277,7 @@ public class FlowStatSchedConfig extends SchedConfig {
|
||||
|
||||
private long getRecentEndTimeSlot(FlowStat flowStat) {
|
||||
long currentTimeSlot = flowStat.currentTimeSlotId();
|
||||
int second = DateTimeUtils.from(currentTimeSlot).getSecond();
|
||||
int second = DateTimeUtils.transform(currentTimeSlot).getSecond();
|
||||
long interval;
|
||||
if (second > 49) {
|
||||
interval = second - 50;
|
||||
@@ -301,14 +298,14 @@ public class FlowStatSchedConfig extends SchedConfig {
|
||||
}
|
||||
|
||||
private String toDP19(long startTimeSlot) {
|
||||
return DateTimeUtils.toDate(startTimeSlot, Constants.DatetimePattern.DP19);
|
||||
return DateTimeUtils.convert(startTimeSlot, Consts.DP.DP19);
|
||||
}
|
||||
|
||||
private String toDP23(long startTimeSlot) {
|
||||
return DateTimeUtils.toDate(startTimeSlot, Constants.DatetimePattern.DP23);
|
||||
return DateTimeUtils.convert(startTimeSlot, Consts.DP.DP23);
|
||||
}
|
||||
|
||||
private static void toJsonStringValue(StringBuilder b, String value) {
|
||||
b.append(Constants.Symbol.DOUBLE_QUOTE).append(value).append(Constants.Symbol.DOUBLE_QUOTE);
|
||||
b.append(Consts.S.DOUBLE_QUOTE).append(value).append(Consts.S.DOUBLE_QUOTE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.WebUtils;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
@@ -211,7 +211,7 @@ public class SystemConfig {
|
||||
|
||||
private void afterLogHeadersSet() {
|
||||
logHeaderSet.clear();
|
||||
Arrays.stream(StringUtils.split(logHeaders, Constants.Symbol.COMMA)).forEach(h -> {
|
||||
Arrays.stream(StringUtils.split(logHeaders, Consts.S.COMMA)).forEach(h -> {
|
||||
logHeaderSet.add(h);
|
||||
});
|
||||
if (!fizzTraceIdHeader.equals("X-Trace-Id")) {
|
||||
|
||||
@@ -30,7 +30,7 @@ import reactor.core.publisher.Mono;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.proxy.CallbackReplayReq;
|
||||
import we.proxy.CallbackService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.ReactiveResult;
|
||||
import we.util.ThreadContext;
|
||||
@@ -72,7 +72,7 @@ public class CallbackController {
|
||||
if (r.code == ReactiveResult.SUCC) {
|
||||
log.info(b.append("replay success").toString(), LogService.BIZ_ID, req.id);
|
||||
resp.setStatusCode(HttpStatus.OK);
|
||||
return Constants.Symbol.EMPTY;
|
||||
return Consts.S.EMPTY;
|
||||
} else {
|
||||
b.append("replay error:\n");
|
||||
r.toStringBuilder(b);
|
||||
|
||||
@@ -32,7 +32,7 @@ import we.stats.FlowStat;
|
||||
import we.stats.ResourceTimeWindowStat;
|
||||
import we.stats.TimeWindowStat;
|
||||
import we.stats.ratelimit.ResourceRateLimitConfig;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.DateTimeUtils;
|
||||
import we.util.JacksonUtils;
|
||||
|
||||
@@ -104,6 +104,6 @@ public class FlowControlController {
|
||||
}
|
||||
|
||||
private String toDP19(long startTimeSlot) {
|
||||
return DateTimeUtils.toDate(startTimeSlot, Constants.DatetimePattern.DP19);
|
||||
return DateTimeUtils.convert(startTimeSlot, Consts.DP.DP19);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,16 +22,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.plugin.auth.ApiConfigService;
|
||||
import we.plugin.auth.AppService;
|
||||
import we.plugin.auth.GatewayGroupService;
|
||||
import we.stats.ratelimit.ResourceRateLimitConfigService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.DateTimeUtils;
|
||||
import we.util.JacksonUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author hongqiaowei
|
||||
@@ -44,7 +36,7 @@ public class HealthCheckController {
|
||||
@GetMapping("/health")
|
||||
public Mono<String> health(ServerWebExchange exchange) {
|
||||
long mills = System.currentTimeMillis();
|
||||
String now = DateTimeUtils.toDate(mills, Constants.DatetimePattern.DP23);
|
||||
String now = DateTimeUtils.convert(mills, Consts.DP.DP23);
|
||||
return Mono.just(now + " ok");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ import we.plugin.auth.Receiver;
|
||||
import we.proxy.CallbackService;
|
||||
import we.proxy.DiscoveryClientUriSelector;
|
||||
import we.proxy.ServiceInstance;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.NettyDataBufferUtils;
|
||||
import we.util.ThreadContext;
|
||||
import we.util.WebUtils;
|
||||
@@ -170,51 +170,51 @@ public class CallbackFilter extends FizzWebFilter {
|
||||
|
||||
ServerHttpRequest req = exchange.getRequest();
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(Constants.Symbol.LEFT_BRACE);
|
||||
b.append(Consts.S.LEFT_BRACE);
|
||||
|
||||
b.append(_id); toJsonStringValue(b, WebUtils.getTraceId(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_datetime); b.append(System.currentTimeMillis()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_origin); toJsonStringValue(b, WebUtils.getOriginIp(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_id); toJsonStringValue(b, WebUtils.getTraceId(exchange)); b.append(Consts.S.COMMA);
|
||||
b.append(_datetime); b.append(System.currentTimeMillis()); b.append(Consts.S.COMMA);
|
||||
b.append(_origin); toJsonStringValue(b, WebUtils.getOriginIp(exchange)); b.append(Consts.S.COMMA);
|
||||
|
||||
String appId = WebUtils.getAppId(exchange);
|
||||
if (appId != null) {
|
||||
b.append(_app); toJsonStringValue(b, appId); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_app); toJsonStringValue(b, appId); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
b.append(_method); toJsonStringValue(b, req.getMethod().name()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_service); toJsonStringValue(b, WebUtils.getClientService(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_path); toJsonStringValue(b, WebUtils.getClientReqPath(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_method); toJsonStringValue(b, req.getMethod().name()); b.append(Consts.S.COMMA);
|
||||
b.append(_service); toJsonStringValue(b, WebUtils.getClientService(exchange)); b.append(Consts.S.COMMA);
|
||||
b.append(_path); toJsonStringValue(b, WebUtils.getClientReqPath(exchange)); b.append(Consts.S.COMMA);
|
||||
|
||||
String query = WebUtils.getClientReqQuery(exchange);
|
||||
if (query != null) {
|
||||
b.append(_query); toJsonStringValue(b, query); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_query); toJsonStringValue(b, query); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
String headersJson = JSON.toJSONString(headers);
|
||||
b.append(_headers); b.append(headersJson); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_headers); b.append(headersJson); b.append(Consts.S.COMMA);
|
||||
|
||||
b.append(_callbackConfigId); b.append(callbackConfigId); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_callbackConfigId); b.append(callbackConfigId); b.append(Consts.S.COMMA);
|
||||
|
||||
if (!service2instMap.isEmpty()) {
|
||||
String rs = JSON.toJSONString(JSON.toJSONString(service2instMap));
|
||||
b.append(_receivers); b.append(rs); b.append(Constants.Symbol.COMMA);
|
||||
b.append(_receivers); b.append(rs); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
// String gg = gatewayGroupService.currentGatewayGroupSet.iterator().next();
|
||||
b.append(_gatewayGroup); toJsonStringValue(b, gatewayGroup);
|
||||
|
||||
if (body != null) {
|
||||
b.append(Constants.Symbol.COMMA);
|
||||
b.append(Consts.S.COMMA);
|
||||
String bodyStr = body.toString(StandardCharsets.UTF_8);
|
||||
MediaType contentType = req.getHeaders().getContentType();
|
||||
if (contentType != null && contentType.getSubtype().equalsIgnoreCase(json)) {
|
||||
b.append(_body); b.append(JSON.toJSONString(bodyStr));
|
||||
b.append(_body); b.append(JSON.toJSONString(bodyStr));
|
||||
} else {
|
||||
b.append(_body); toJsonStringValue(b, bodyStr);
|
||||
b.append(_body); toJsonStringValue(b, bodyStr);
|
||||
}
|
||||
}
|
||||
|
||||
b.append(Constants.Symbol.RIGHT_BRACE);
|
||||
b.append(Consts.S.RIGHT_BRACE);
|
||||
String msg = b.toString();
|
||||
if ("kafka".equals(callbackFilterProperties.getDest())) { // for internal use
|
||||
log.warn(msg, LogService.HANDLE_STGY, LogService.toKF(callbackFilterProperties.getQueue()));
|
||||
@@ -227,6 +227,6 @@ public class CallbackFilter extends FizzWebFilter {
|
||||
}
|
||||
|
||||
private static void toJsonStringValue(StringBuilder b, String value) {
|
||||
b.append(Constants.Symbol.DOUBLE_QUOTE).append(value).append(Constants.Symbol.DOUBLE_QUOTE);
|
||||
b.append(Consts.S.DOUBLE_QUOTE).append(value).append(Consts.S.DOUBLE_QUOTE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,14 +17,10 @@
|
||||
|
||||
package we.filter;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.WebFilter;
|
||||
import org.springframework.web.server.WebFilterChain;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.util.Constants;
|
||||
import we.util.Utils;
|
||||
import we.util.WebUtils;
|
||||
|
||||
/**
|
||||
* @author hongqiaowei
|
||||
|
||||
@@ -91,7 +91,7 @@ public class FlowControlFilter extends FizzWebFilter {
|
||||
public Mono<Void> doFilter(ServerWebExchange exchange, WebFilterChain chain) {
|
||||
|
||||
String path = exchange.getRequest().getPath().value();
|
||||
int secFS = path.indexOf(Constants.Symbol.FORWARD_SLASH, 1);
|
||||
int secFS = path.indexOf(Consts.S.FORWARD_SLASH, 1);
|
||||
if (secFS == -1) {
|
||||
return WebUtils.responseError(exchange, HttpStatus.INTERNAL_SERVER_ERROR.value(), "request path should like /optional-prefix/service-name/real-biz-path");
|
||||
}
|
||||
@@ -99,7 +99,7 @@ public class FlowControlFilter extends FizzWebFilter {
|
||||
boolean adminReq = false, proxyTestReq = false;
|
||||
if (service.equals(admin) || service.equals(actuator)) {
|
||||
adminReq = true;
|
||||
exchange.getAttributes().put(ADMIN_REQUEST, Constants.Symbol.EMPTY);
|
||||
exchange.getAttributes().put(ADMIN_REQUEST, Consts.S.EMPTY);
|
||||
} else if (service.equals(SystemConfig.DEFAULT_GATEWAY_TEST)) {
|
||||
proxyTestReq = true;
|
||||
} else {
|
||||
@@ -179,7 +179,7 @@ public class FlowControlFilter extends FizzWebFilter {
|
||||
}
|
||||
String fizzTraceIdValuePrefix = systemConfig.fizzTraceIdValuePrefix();
|
||||
if (StringUtils.isNotBlank(fizzTraceIdValuePrefix)) {
|
||||
traceId = fizzTraceIdValuePrefix + Constants.Symbol.DASH + traceId;
|
||||
traceId = fizzTraceIdValuePrefix + Consts.S.DASH + traceId;
|
||||
}
|
||||
exchange.getAttributes().put(WebUtils.TRACE_ID, traceId);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.springframework.web.server.ServerWebExchange;
|
||||
import org.springframework.web.server.WebFilterChain;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.config.SystemConfig;
|
||||
import we.constants.CommonConstants;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.legacy.RespEntity;
|
||||
import we.plugin.auth.ApiConfig;
|
||||
@@ -130,7 +129,7 @@ public class RouteFilter extends FizzWebFilter {
|
||||
String err = "cant handle api config type " + route.type;
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
WebUtils.request2stringBuilder(exchange, b);
|
||||
log.error(b.append(Constants.Symbol.LF).append(err).toString(), LogService.BIZ_ID, rid);
|
||||
log.error(b.append(Consts.S.LF).append(err).toString(), LogService.BIZ_ID, rid);
|
||||
return WebUtils.buildJsonDirectResponseAndBindContext(exchange, HttpStatus.OK, null, RespEntity.toJson(HttpStatus.INTERNAL_SERVER_ERROR.value(), err, rid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,14 +36,14 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.ReactorUtils;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static we.config.AggregateRedisConfig.AGGREGATE_REACTIVE_REDIS_TEMPLATE;
|
||||
import static we.util.Constants.Symbol.FORWARD_SLASH;
|
||||
import static we.util.Consts.S.FORWARD_SLASH;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -239,7 +239,7 @@ public class ConfigLoader {
|
||||
return Flux.just(entry);
|
||||
}
|
||||
String configStr = (String) entry.getValue();
|
||||
LOGGER.info("aggregate config: " + k.toString() + Constants.Symbol.COLON + configStr, LogService.BIZ_ID, k.toString());
|
||||
LOGGER.info("aggregate config: " + k.toString() + Consts.S.COLON + configStr, LogService.BIZ_ID, k.toString());
|
||||
|
||||
try {
|
||||
this.addConfig(configStr, aggregateResourcesTmp, resourceKey2ConfigInfoMapTmp, aggregateId2ResourceKeyMapTmp);
|
||||
|
||||
@@ -19,7 +19,7 @@ package we.legacy;
|
||||
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.ThreadContext;
|
||||
|
||||
/**
|
||||
@@ -63,7 +63,7 @@ public class RespEntity {
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder b = ThreadContext.getStringBuilder(resb);
|
||||
return b.append(f0).append(msgCode).append(f1).append(reqId).append(Constants.Symbol.SPACE).append(message).append(f2).toString();
|
||||
return b.append(f0).append(msgCode).append(f1).append(reqId).append(Consts.S.SPACE).append(message).append(f2).toString();
|
||||
}
|
||||
|
||||
public static String toJson(int code, String msg, @Nullable String reqId) {
|
||||
|
||||
@@ -467,7 +467,7 @@ public class ApiConfigService {
|
||||
|
||||
private boolean validate(String app, String timestamp, String secretKey, String sign) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(app).append(Constants.Symbol.UNDERLINE).append(timestamp).append(Constants.Symbol.UNDERLINE).append(secretKey);
|
||||
b.append(app).append(Consts.S.UNDERLINE).append(timestamp).append(Consts.S.UNDERLINE).append(secretKey);
|
||||
return sign.equalsIgnoreCase(DigestUtils.md532(b.toString()));
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.springframework.stereotype.Service;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.ReactorUtils;
|
||||
import we.util.ThreadContext;
|
||||
@@ -158,7 +158,7 @@ public class ApiConifg2appsService {
|
||||
ApiConfig2apps data = JacksonUtils.readValue(json, ApiConfig2apps.class);
|
||||
updateApiConfig2appsMap(data);
|
||||
} catch (Throwable t) {
|
||||
log.error(Constants.Symbol.EMPTY, t);
|
||||
log.error(Consts.S.EMPTY, t);
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -19,7 +19,7 @@ package we.plugin.auth;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
|
||||
import java.util.*;
|
||||
@@ -104,7 +104,7 @@ public class App {
|
||||
if (ips.containsKey(ip)) {
|
||||
return true;
|
||||
}
|
||||
int originSubnetLen = ip.lastIndexOf(Constants.Symbol.DOT);
|
||||
int originSubnetLen = ip.lastIndexOf(Consts.S.DOT);
|
||||
for (Map.Entry<String, List<String[]>> e : ips.entrySet()) {
|
||||
String subnet = e.getKey();
|
||||
int subnetLen = subnet.length();
|
||||
|
||||
@@ -25,7 +25,7 @@ import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.ReactorUtils;
|
||||
|
||||
@@ -81,7 +81,7 @@ public class AppService {
|
||||
return Flux.just(e);
|
||||
}
|
||||
Object v = e.getValue();
|
||||
log.info(k.toString() + Constants.Symbol.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
log.info(k.toString() + Consts.S.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
String json = (String) v;
|
||||
try {
|
||||
App app = JacksonUtils.readValue(json, App.class);
|
||||
|
||||
@@ -26,7 +26,7 @@ import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.NetworkUtils;
|
||||
import we.util.ReactorUtils;
|
||||
@@ -88,7 +88,7 @@ public class GatewayGroupService {
|
||||
return Flux.just(e);
|
||||
}
|
||||
Object v = e.getValue();
|
||||
log.info(k.toString() + Constants.Symbol.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
log.info(k.toString() + Consts.S.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
String json = (String) v;
|
||||
try {
|
||||
GatewayGroup gg = JacksonUtils.readValue(json, GatewayGroup.class);
|
||||
|
||||
@@ -28,7 +28,7 @@ import we.flume.clients.log4j2appender.LogService;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.plugin.PluginFilter;
|
||||
import we.plugin.auth.GatewayGroupService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.ThreadContext;
|
||||
import we.util.WebUtils;
|
||||
|
||||
@@ -90,20 +90,20 @@ public class StatPluginFilter extends PluginFilter {
|
||||
|
||||
if (statPluginFilterProperties.isStatOpen()) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(Constants.Symbol.LEFT_BRACE);
|
||||
b.append(ip); toJsonStringValue(b, WebUtils.getOriginIp(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(gatewayGroup); toJsonStringValue(b, currentGatewayGroups); b.append(Constants.Symbol.COMMA);
|
||||
b.append(service); toJsonStringValue(b, WebUtils.getClientService(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(Consts.S.LEFT_BRACE);
|
||||
b.append(ip); toJsonStringValue(b, WebUtils.getOriginIp(exchange)); b.append(Consts.S.COMMA);
|
||||
b.append(gatewayGroup); toJsonStringValue(b, currentGatewayGroups); b.append(Consts.S.COMMA);
|
||||
b.append(service); toJsonStringValue(b, WebUtils.getClientService(exchange)); b.append(Consts.S.COMMA);
|
||||
|
||||
String appId = WebUtils.getAppId(exchange);
|
||||
if (appId != null) {
|
||||
b.append(appid); toJsonStringValue(b, appId); b.append(Constants.Symbol.COMMA);
|
||||
b.append(appid); toJsonStringValue(b, appId); b.append(Consts.S.COMMA);
|
||||
}
|
||||
|
||||
b.append(apiMethod); toJsonStringValue(b, exchange.getRequest().getMethodValue()); b.append(Constants.Symbol.COMMA);
|
||||
b.append(apiPath); toJsonStringValue(b, WebUtils.getClientReqPath(exchange)); b.append(Constants.Symbol.COMMA);
|
||||
b.append(apiMethod); toJsonStringValue(b, exchange.getRequest().getMethodValue()); b.append(Consts.S.COMMA);
|
||||
b.append(apiPath); toJsonStringValue(b, WebUtils.getClientReqPath(exchange)); b.append(Consts.S.COMMA);
|
||||
b.append(reqTime) .append(System.currentTimeMillis());
|
||||
b.append(Constants.Symbol.RIGHT_BRACE);
|
||||
b.append(Consts.S.RIGHT_BRACE);
|
||||
|
||||
if (StringUtils.isBlank(statPluginFilterProperties.getFizzAccessStatTopic())) {
|
||||
rt.convertAndSend(statPluginFilterProperties.getFizzAccessStatChannel(), b.toString()).subscribe();
|
||||
@@ -116,10 +116,10 @@ public class StatPluginFilter extends PluginFilter {
|
||||
}
|
||||
|
||||
private static void toJsonStringValue(StringBuilder b, String value) {
|
||||
b.append(Constants.Symbol.DOUBLE_QUOTE).append(value).append(Constants.Symbol.DOUBLE_QUOTE);
|
||||
b.append(Consts.S.DOUBLE_QUOTE).append(value).append(Consts.S.DOUBLE_QUOTE);
|
||||
}
|
||||
|
||||
private static void toJsonStringValue(StringBuilder b, Character value) {
|
||||
b.append(Constants.Symbol.DOUBLE_QUOTE).append(value).append(Constants.Symbol.DOUBLE_QUOTE);
|
||||
b.append(Consts.S.DOUBLE_QUOTE).append(value).append(Consts.S.DOUBLE_QUOTE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
package we.proxy;
|
||||
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.ThreadContext;
|
||||
|
||||
/**
|
||||
@@ -29,6 +29,6 @@ abstract public class AbstractDiscoveryClientUriSelector implements DiscoveryCli
|
||||
|
||||
protected String buildUri(String ipAddr, int port, String path) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
return b.append(Constants.Symbol.HTTP_PROTOCOL_PREFIX).append(ipAddr).append(Constants.Symbol.COLON).append(port).append(path).toString();
|
||||
return b.append(Consts.S.HTTP_PROTOCOL_PREFIX).append(ipAddr).append(Consts.S.COLON).append(port).append(path).toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,23 +152,23 @@ public class CallbackService {
|
||||
private void log(ServerWebExchange exchange, Receiver r, HttpMethod method, HttpHeaders headers, DataBuffer body, Throwable t) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
WebUtils.request2stringBuilder(exchange, b);
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR).append(callback).append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(Consts.S.LINE_SEPARATOR).append(callback).append(Consts.S.LINE_SEPARATOR);
|
||||
String id = WebUtils.getTraceId(exchange);
|
||||
WebUtils.request2stringBuilder(id, method, r.service + Constants.Symbol.FORWARD_SLASH + r.path, headers, body, b);
|
||||
WebUtils.request2stringBuilder(id, method, r.service + Consts.S.FORWARD_SLASH + r.path, headers, body, b);
|
||||
log.error(b.toString(), LogService.BIZ_ID, id, t);
|
||||
}
|
||||
|
||||
private String buildUri(ServerHttpRequest req, ServiceInstance si, String path) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(req.getURI().getScheme()) .append(Constants.Symbol.COLON) .append(Constants.Symbol.FORWARD_SLASH) .append(Constants.Symbol.FORWARD_SLASH);
|
||||
b.append(si.ip) .append(Constants.Symbol.COLON) .append(si.port) .append(path);
|
||||
b.append(req.getURI().getScheme()) .append(Consts.S.COLON) .append(Consts.S.FORWARD_SLASH) .append(Consts.S.FORWARD_SLASH);
|
||||
b.append(si.ip) .append(Consts.S.COLON) .append(si.port) .append(path);
|
||||
return b.toString();
|
||||
}
|
||||
|
||||
private String buildUri(String scheme, ServiceInstance si, String path) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(scheme) .append(Constants.Symbol.COLON) .append(Constants.Symbol.FORWARD_SLASH) .append(Constants.Symbol.FORWARD_SLASH);
|
||||
b.append(si.ip) .append(Constants.Symbol.COLON) .append(si.port) .append(path);
|
||||
b.append(scheme) .append(Consts.S.COLON) .append(Consts.S.FORWARD_SLASH) .append(Consts.S.FORWARD_SLASH);
|
||||
b.append(si.ip) .append(Consts.S.COLON) .append(si.port) .append(path);
|
||||
return b.toString();
|
||||
}
|
||||
|
||||
@@ -291,9 +291,9 @@ public class CallbackService {
|
||||
|
||||
private void log(CallbackReplayReq req, String service, String path, Throwable t) {
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
b.append(req.service).append(Constants.Symbol.FORWARD_SLASH).append(req.path);
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR).append(callback).append(Constants.Symbol.LINE_SEPARATOR);
|
||||
WebUtils.request2stringBuilder(req.id, req.method, service + Constants.Symbol.FORWARD_SLASH + path, req.headers, req.body, b);
|
||||
b.append(req.service).append(Consts.S.FORWARD_SLASH).append(req.path);
|
||||
b.append(Consts.S.LINE_SEPARATOR).append(callback).append(Consts.S.LINE_SEPARATOR);
|
||||
WebUtils.request2stringBuilder(req.id, req.method, service + Consts.S.FORWARD_SLASH + path, req.headers, req.body, b);
|
||||
log.error(b.toString(), LogService.BIZ_ID, req.id, t);
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import reactor.core.publisher.Mono;
|
||||
import we.config.ProxyWebClientConfig;
|
||||
import we.config.SystemConfig;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.ThreadContext;
|
||||
import we.util.WebUtils;
|
||||
|
||||
@@ -72,7 +72,7 @@ public class FizzWebClient {
|
||||
public Mono<ClientResponse> send(String reqId, HttpMethod method, String uriOrSvc, HttpHeaders headers, Object body, long timeout) {
|
||||
String s = extractServiceOrAddress(uriOrSvc);
|
||||
if (isService(s)) {
|
||||
String path = uriOrSvc.substring(uriOrSvc.indexOf(Constants.Symbol.FORWARD_SLASH, 10));
|
||||
String path = uriOrSvc.substring(uriOrSvc.indexOf(Consts.S.FORWARD_SLASH, 10));
|
||||
return send2service(reqId, method, s, path, headers, body, timeout);
|
||||
} else {
|
||||
return send2uri(reqId, method, uriOrSvc, headers, body, timeout);
|
||||
@@ -143,11 +143,11 @@ public class FizzWebClient {
|
||||
|
||||
private void setHostHeader(String uri, HttpHeaders headers) {
|
||||
boolean domain = false;
|
||||
int begin = uri.indexOf(Constants.Symbol.FORWARD_SLASH) + 2;
|
||||
int end = uri.indexOf(Constants.Symbol.FORWARD_SLASH, begin);
|
||||
int begin = uri.indexOf(Consts.S.FORWARD_SLASH) + 2;
|
||||
int end = uri.indexOf(Consts.S.FORWARD_SLASH, begin);
|
||||
for (int i = begin; i < end; i++) {
|
||||
char c = uri.charAt(i);
|
||||
if ( (47 < c && c < 58) || c == Constants.Symbol.DOT || c == Constants.Symbol.COLON ) {
|
||||
if ( (47 < c && c < 58) || c == Consts.S.DOT || c == Consts.S.COLON ) {
|
||||
} else {
|
||||
domain = true;
|
||||
break;
|
||||
@@ -165,7 +165,7 @@ public class FizzWebClient {
|
||||
if (c4 == 's' || c4 == 'S') {
|
||||
start = 8;
|
||||
}
|
||||
int i = uriOrSvc.indexOf(Constants.Symbol.FORWARD_SLASH, 9);
|
||||
int i = uriOrSvc.indexOf(Consts.S.FORWARD_SLASH, 9);
|
||||
if (i > 0) {
|
||||
end = i;
|
||||
}
|
||||
@@ -173,7 +173,7 @@ public class FizzWebClient {
|
||||
}
|
||||
|
||||
private boolean isService(String s) {
|
||||
if (StringUtils.indexOfAny(s, Constants.Symbol.DOT, Constants.Symbol.COLON) > 0
|
||||
if (StringUtils.indexOfAny(s, Consts.S.DOT, Consts.S.COLON) > 0
|
||||
|| StringUtils.startsWith(s, localhost)) {
|
||||
return false;
|
||||
} else {
|
||||
|
||||
@@ -19,7 +19,7 @@ package we.proxy;
|
||||
|
||||
import org.springframework.http.HttpMethod;
|
||||
import we.plugin.PluginConfig;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
|
||||
import java.util.List;
|
||||
@@ -116,7 +116,7 @@ public class Route {
|
||||
|
||||
public String getBackendPathQuery() {
|
||||
if (query != null) {
|
||||
return backendPath + Constants.Symbol.QUESTION + query;
|
||||
return backendPath + Consts.S.QUESTION + query;
|
||||
}
|
||||
return backendPath;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.config.AggregateRedisConfig;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.ReactorUtils;
|
||||
|
||||
@@ -102,7 +102,7 @@ public class RpcInstanceServiceImpl implements RpcInstanceService {
|
||||
return Flux.just(e);
|
||||
}
|
||||
Object v = e.getValue();
|
||||
LOGGER.info(k.toString() + Constants.Symbol.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
LOGGER.info(k.toString() + Consts.S.COLON + v.toString(), LogService.BIZ_ID, k.toString());
|
||||
String json = (String) v;
|
||||
try {
|
||||
RpcService rpcService = JacksonUtils.readValue(json, RpcService.class);
|
||||
|
||||
@@ -19,7 +19,7 @@ package we.stats.ratelimit;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.JacksonUtils;
|
||||
import we.util.Utils;
|
||||
|
||||
@@ -152,15 +152,15 @@ public class ResourceRateLimitConfig {
|
||||
}
|
||||
|
||||
public static void buildResourceIdTo(StringBuilder b, String app, String ip, String node, String service, String path) {
|
||||
b.append(app == null ? Constants.Symbol.EMPTY : app) .append(Constants.Symbol.SQUARE);
|
||||
b.append(ip == null ? Constants.Symbol.EMPTY : ip) .append(Constants.Symbol.SQUARE);
|
||||
b.append(node == null ? Constants.Symbol.EMPTY : node) .append(Constants.Symbol.SQUARE);
|
||||
b.append(service == null ? Constants.Symbol.EMPTY : service) .append(Constants.Symbol.SQUARE);
|
||||
b.append(path == null ? Constants.Symbol.EMPTY : path);
|
||||
b.append(app == null ? Consts.S.EMPTY : app) .append(Consts.S.SQUARE);
|
||||
b.append(ip == null ? Consts.S.EMPTY : ip) .append(Consts.S.SQUARE);
|
||||
b.append(node == null ? Consts.S.EMPTY : node) .append(Consts.S.SQUARE);
|
||||
b.append(service == null ? Consts.S.EMPTY : service) .append(Consts.S.SQUARE);
|
||||
b.append(path == null ? Consts.S.EMPTY : path);
|
||||
}
|
||||
|
||||
public static String getApp(String resource) {
|
||||
int i = resource.indexOf(Constants.Symbol.SQUARE);
|
||||
int i = resource.indexOf(Consts.S.SQUARE);
|
||||
if (i == 0) {
|
||||
return null;
|
||||
} else {
|
||||
@@ -169,31 +169,31 @@ public class ResourceRateLimitConfig {
|
||||
}
|
||||
|
||||
public static String getIp(String resource) {
|
||||
String extract = Utils.extract(resource, Constants.Symbol.SQUARE, 1);
|
||||
if (extract.equals(Constants.Symbol.EMPTY)) {
|
||||
String extract = Utils.extract(resource, Consts.S.SQUARE, 1);
|
||||
if (extract.equals(Consts.S.EMPTY)) {
|
||||
return null;
|
||||
}
|
||||
return extract;
|
||||
}
|
||||
|
||||
public static String getNode(String resource) {
|
||||
String extract = Utils.extract(resource, Constants.Symbol.SQUARE, 2);
|
||||
if (extract.equals(Constants.Symbol.EMPTY)) {
|
||||
String extract = Utils.extract(resource, Consts.S.SQUARE, 2);
|
||||
if (extract.equals(Consts.S.EMPTY)) {
|
||||
return null;
|
||||
}
|
||||
return extract;
|
||||
}
|
||||
|
||||
public static String getService(String resource) {
|
||||
String extract = Utils.extract(resource, Constants.Symbol.SQUARE, 3);
|
||||
if (extract.equals(Constants.Symbol.EMPTY)) {
|
||||
String extract = Utils.extract(resource, Consts.S.SQUARE, 3);
|
||||
if (extract.equals(Consts.S.EMPTY)) {
|
||||
return null;
|
||||
}
|
||||
return extract;
|
||||
}
|
||||
|
||||
public static String getPath(String resource) {
|
||||
int i = resource.lastIndexOf(Constants.Symbol.SQUARE);
|
||||
int i = resource.lastIndexOf(Consts.S.SQUARE);
|
||||
if (i == resource.length() - 1) {
|
||||
return null;
|
||||
} else {
|
||||
|
||||
@@ -30,7 +30,6 @@ import org.springframework.web.reactive.function.client.ClientResponse;
|
||||
import org.springframework.web.server.ServerWebExchange;
|
||||
import reactor.core.publisher.Mono;
|
||||
import we.config.SystemConfig;
|
||||
import we.constants.CommonConstants;
|
||||
import we.filter.FilterResult;
|
||||
import we.flume.clients.log4j2appender.LogService;
|
||||
import we.legacy.RespEntity;
|
||||
@@ -101,6 +100,9 @@ public abstract class WebUtils {
|
||||
public static Set<String> LOG_HEADER_SET = Collections.EMPTY_SET;
|
||||
|
||||
|
||||
private WebUtils() {
|
||||
}
|
||||
|
||||
public static void setGatewayPrefix(String p) {
|
||||
gatewayPrefix = p;
|
||||
}
|
||||
@@ -136,13 +138,13 @@ public abstract class WebUtils {
|
||||
String svc = exchange.getAttribute(clientService);
|
||||
if (svc == null) {
|
||||
String p = exchange.getRequest().getPath().value();
|
||||
int secFS = p.indexOf(Constants.Symbol.FORWARD_SLASH, 1);
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Constants.Symbol.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
int secFS = p.indexOf(Consts.S.FORWARD_SLASH, 1);
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Consts.S.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
svc = p.substring(1, secFS);
|
||||
} else {
|
||||
String prefix = p.substring(0, secFS);
|
||||
if (gatewayPrefix.equals(prefix) || SystemConfig.DEFAULT_GATEWAY_TEST_PREFIX.equals(prefix)) {
|
||||
int trdFS = p.indexOf(Constants.Symbol.FORWARD_SLASH, secFS + 1);
|
||||
int trdFS = p.indexOf(Consts.S.FORWARD_SLASH, secFS + 1);
|
||||
svc = p.substring(secFS + 1, trdFS);
|
||||
} else {
|
||||
throw Utils.runtimeExceptionWithoutStack("wrong prefix " + prefix);
|
||||
@@ -251,7 +253,7 @@ public abstract class WebUtils {
|
||||
);
|
||||
}
|
||||
if (bodyContent == null) {
|
||||
bodyContent = Constants.Symbol.EMPTY;
|
||||
bodyContent = Consts.S.EMPTY;
|
||||
}
|
||||
return clientResp
|
||||
.writeWith(Mono.just(clientResp.bufferFactory().wrap(bodyContent.getBytes())));
|
||||
@@ -296,13 +298,13 @@ public abstract class WebUtils {
|
||||
String p = exchange.getAttribute(clientRequestPath);
|
||||
if (p == null) {
|
||||
p = exchange.getRequest().getPath().value();
|
||||
int secFS = p.indexOf(Constants.Symbol.FORWARD_SLASH, 1);
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Constants.Symbol.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
int secFS = p.indexOf(Consts.S.FORWARD_SLASH, 1);
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Consts.S.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
p = p.substring(secFS);
|
||||
} else {
|
||||
String prefix = p.substring(0, secFS);
|
||||
if (gatewayPrefix.equals(prefix) || SystemConfig.DEFAULT_GATEWAY_TEST_PREFIX.equals(prefix)) {
|
||||
int trdFS = p.indexOf(Constants.Symbol.FORWARD_SLASH, secFS + 1);
|
||||
int trdFS = p.indexOf(Consts.S.FORWARD_SLASH, secFS + 1);
|
||||
p = p.substring(trdFS);
|
||||
} else {
|
||||
throw Utils.runtimeExceptionWithoutStack("wrong prefix " + prefix);
|
||||
@@ -324,14 +326,14 @@ public abstract class WebUtils {
|
||||
public static String getClientReqPathPrefix(ServerWebExchange exchange) {
|
||||
String prefix = exchange.getAttribute(clientRequestPathPrefix);
|
||||
if (prefix == null) {
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Constants.Symbol.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
prefix = Constants.Symbol.FORWARD_SLASH_STR;
|
||||
if (StringUtils.isBlank(gatewayPrefix) || Consts.S.FORWARD_SLASH_STR.equals(gatewayPrefix)) {
|
||||
prefix = Consts.S.FORWARD_SLASH_STR;
|
||||
} else {
|
||||
String path = exchange.getRequest().getPath().value();
|
||||
int secFS = path.indexOf(Constants.Symbol.FORWARD_SLASH, 1);
|
||||
int secFS = path.indexOf(Consts.S.FORWARD_SLASH, 1);
|
||||
prefix = path.substring(0, secFS);
|
||||
if (gatewayPrefix.equals(prefix) || SystemConfig.DEFAULT_GATEWAY_TEST_PREFIX.equals(prefix)) {
|
||||
prefix = prefix + Constants.Symbol.FORWARD_SLASH;
|
||||
prefix = prefix + Consts.S.FORWARD_SLASH;
|
||||
} else {
|
||||
throw Utils.runtimeExceptionWithoutStack("wrong prefix " + prefix);
|
||||
}
|
||||
@@ -352,7 +354,7 @@ public abstract class WebUtils {
|
||||
if (qry == null) {
|
||||
exchange.getAttributes().put(clientRequestQuery, StringUtils.EMPTY);
|
||||
} else {
|
||||
if (StringUtils.indexOfAny(qry, Constants.Symbol.LEFT_BRACE, Constants.Symbol.FORWARD_SLASH, Constants.Symbol.HASH) > 0) {
|
||||
if (StringUtils.indexOfAny(qry, Consts.S.LEFT_BRACE, Consts.S.FORWARD_SLASH, Consts.S.HASH) > 0) {
|
||||
qry = uri.getRawQuery();
|
||||
}
|
||||
exchange.getAttributes().put(clientRequestQuery, qry);
|
||||
@@ -366,7 +368,7 @@ public abstract class WebUtils {
|
||||
String relativeUri = getClientReqPath(exchange);
|
||||
String qry = getClientReqQuery(exchange);
|
||||
if (qry != null) {
|
||||
relativeUri = relativeUri + Constants.Symbol.QUESTION + qry;
|
||||
relativeUri = relativeUri + Consts.S.QUESTION + qry;
|
||||
}
|
||||
return relativeUri;
|
||||
}
|
||||
@@ -374,7 +376,7 @@ public abstract class WebUtils {
|
||||
public static String appendQuery(String path, ServerWebExchange exchange) {
|
||||
String qry = getClientReqQuery(exchange);
|
||||
if (qry != null) {
|
||||
return path + Constants.Symbol.QUESTION + qry;
|
||||
return path + Consts.S.QUESTION + qry;
|
||||
}
|
||||
return path;
|
||||
}
|
||||
@@ -421,7 +423,7 @@ public abstract class WebUtils {
|
||||
}
|
||||
|
||||
public static void request2stringBuilder(String reqId, HttpMethod method, String uri, HttpHeaders headers, Object body, StringBuilder b) {
|
||||
b.append(reqId).append(Constants.Symbol.SPACE).append(method).append(Constants.Symbol.SPACE).append(uri);
|
||||
b.append(reqId).append(Consts.S.SPACE).append(method).append(Consts.S.SPACE).append(uri);
|
||||
if (headers != null) {
|
||||
final boolean[] f = {false};
|
||||
LOG_HEADER_SET.forEach(
|
||||
@@ -429,10 +431,10 @@ public abstract class WebUtils {
|
||||
String v = headers.getFirst(h);
|
||||
if (v != null) {
|
||||
if (!f[0]) {
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(Consts.S.LINE_SEPARATOR);
|
||||
f[0] = true;
|
||||
}
|
||||
Utils.addTo(b, h, Constants.Symbol.EQUAL, v, Constants.Symbol.TWO_SPACE_STR);
|
||||
Utils.addTo(b, h, Consts.S.EQUAL, v, Consts.S.TWO_SPACE_STR);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -449,10 +451,10 @@ public abstract class WebUtils {
|
||||
String v = headers.getFirst(h);
|
||||
if (v != null) {
|
||||
if (!f[0]) {
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(Consts.S.LINE_SEPARATOR);
|
||||
f[0] = true;
|
||||
}
|
||||
Utils.addTo(b, h, Constants.Symbol.EQUAL, v, Constants.Symbol.TWO_SPACE_STR);
|
||||
Utils.addTo(b, h, Consts.S.EQUAL, v, Consts.S.TWO_SPACE_STR);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -477,8 +479,8 @@ public abstract class WebUtils {
|
||||
// if (reqBody[0] != null) {
|
||||
// DataBufferUtils.release(reqBody[0]);
|
||||
// }
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(filter).append(Constants.Symbol.SPACE).append(code).append(Constants.Symbol.SPACE).append(msg);
|
||||
b.append(Consts.S.LINE_SEPARATOR);
|
||||
b.append(filter).append(Consts.S.SPACE).append(code).append(Consts.S.SPACE).append(msg);
|
||||
if (t == null) {
|
||||
log.error(b.toString(), LogService.BIZ_ID, rid);
|
||||
} else {
|
||||
@@ -527,11 +529,11 @@ public abstract class WebUtils {
|
||||
String rid = getTraceId(exchange);
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
request2stringBuilder(exchange, b);
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(filter).append(Constants.Symbol.SPACE).append(httpStatus);
|
||||
b.append(Consts.S.LINE_SEPARATOR);
|
||||
b.append(filter).append(Consts.S.SPACE).append(httpStatus);
|
||||
log.error(b.toString(), LogService.BIZ_ID, rid);
|
||||
transmitFailFilterResult(exchange, filter);
|
||||
return buildDirectResponseAndBindContext(exchange, httpStatus, new HttpHeaders(), Constants.Symbol.EMPTY);
|
||||
return buildDirectResponseAndBindContext(exchange, httpStatus, new HttpHeaders(), Consts.S.EMPTY);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@@ -541,12 +543,12 @@ public abstract class WebUtils {
|
||||
String rid = getTraceId(exchange);
|
||||
StringBuilder b = ThreadContext.getStringBuilder();
|
||||
request2stringBuilder(exchange, b);
|
||||
b.append(Constants.Symbol.LINE_SEPARATOR);
|
||||
b.append(filter).append(Constants.Symbol.SPACE).append(httpStatus);
|
||||
b.append(Consts.S.LINE_SEPARATOR);
|
||||
b.append(filter).append(Consts.S.SPACE).append(httpStatus);
|
||||
log.error(b.toString(), LogService.BIZ_ID, rid);
|
||||
transmitFailFilterResult(exchange, filter);
|
||||
headers = headers == null ? new HttpHeaders() : headers;
|
||||
content = StringUtils.isBlank(content) ? Constants.Symbol.EMPTY : content;
|
||||
content = StringUtils.isBlank(content) ? Consts.S.EMPTY : content;
|
||||
return buildDirectResponseAndBindContext(exchange, httpStatus, headers, content);
|
||||
}
|
||||
|
||||
@@ -558,7 +560,7 @@ public abstract class WebUtils {
|
||||
if (StringUtils.isBlank(v)) {
|
||||
ip = req.getRemoteAddress().getAddress().getHostAddress();
|
||||
} else {
|
||||
ip = StringUtils.split(v, Constants.Symbol.COMMA)[0].trim();
|
||||
ip = StringUtils.split(v, Consts.S.COMMA)[0].trim();
|
||||
if (ip.equalsIgnoreCase(unknown)) {
|
||||
ip = req.getRemoteAddress().getAddress().getHostAddress();
|
||||
} else if (ip.equals(binaryAddress)) {
|
||||
|
||||
@@ -33,9 +33,8 @@ import reactor.netty.resources.ConnectionProvider;
|
||||
import reactor.netty.resources.LoopResources;
|
||||
import we.stats.FlowStat;
|
||||
import we.stats.ResourceTimeWindowStat;
|
||||
import we.util.Constants;
|
||||
import we.util.Consts;
|
||||
import we.util.DateTimeUtils;
|
||||
import we.util.JacksonUtils;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
@@ -136,12 +135,12 @@ public class RateLimitTests {
|
||||
|
||||
FlowStat flowStat = new FlowStat();
|
||||
|
||||
long incrTime = DateTimeUtils.toMillis("2021-01-08 21:28:42.000", Constants.DatetimePattern.DP23);
|
||||
long incrTime = DateTimeUtils.toMillis("2021-01-08 21:28:42.000", Consts.DP.DP23);
|
||||
boolean success = flowStat.incrRequest("resourceX", incrTime, Long.MAX_VALUE, Long.MAX_VALUE);
|
||||
// System.err.println("incrTime: " + incrTime + ", success: " + success);
|
||||
|
||||
long startTimeSlot = DateTimeUtils.toMillis("2021-01-08 21:28:41.000", Constants.DatetimePattern.DP23);
|
||||
long endTimeSlot = DateTimeUtils.toMillis("2021-01-08 21:28:44.000", Constants.DatetimePattern.DP23);
|
||||
long startTimeSlot = DateTimeUtils.toMillis("2021-01-08 21:28:41.000", Consts.DP.DP23);
|
||||
long endTimeSlot = DateTimeUtils.toMillis("2021-01-08 21:28:44.000", Consts.DP.DP23);
|
||||
|
||||
List<ResourceTimeWindowStat> resourceTimeWindowStats = flowStat.getResourceTimeWindowStats(null, startTimeSlot, endTimeSlot, 3);
|
||||
if (resourceTimeWindowStats == null || resourceTimeWindowStats.isEmpty()) {
|
||||
@@ -152,7 +151,7 @@ public class RateLimitTests {
|
||||
}
|
||||
|
||||
private String toDP19(long mills) {
|
||||
return DateTimeUtils.toDate(mills, Constants.DatetimePattern.DP19);
|
||||
return DateTimeUtils.convert(mills, Consts.DP.DP19);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user