From 8f190b3877ca2fb9d09474888452cf502c5d46c6 Mon Sep 17 00:00:00 2001 From: hongqiaowei Date: Thu, 16 Feb 2023 10:30:32 +0800 Subject: [PATCH] Fix gateway prefix problem --- .../com/fizzgate/filter/FlowControlFilter.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/fizz-core/src/main/java/com/fizzgate/filter/FlowControlFilter.java b/fizz-core/src/main/java/com/fizzgate/filter/FlowControlFilter.java index 760563d..603d2e6 100644 --- a/fizz-core/src/main/java/com/fizzgate/filter/FlowControlFilter.java +++ b/fizz-core/src/main/java/com/fizzgate/filter/FlowControlFilter.java @@ -125,11 +125,17 @@ public class FlowControlFilter extends FizzWebFilter { String service = null; if (!favReq) { - 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"); + + String gatewayPrefix = systemConfig.getGatewayPrefix(); + if (StringUtils.isBlank(gatewayPrefix) || Consts.S.FORWARD_SLASH_STR.equals(gatewayPrefix)) { + service = Consts.S.FORWARD_SLASH_STR; + } else { + 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 /gateway-prefix/service-name/real-biz-path"); + } + service = path.substring(1, secFS); } - service = path.substring(1, secFS); if (service.equals(admin) || service.equals(actuator)) { adminReq = true;