fix: WebUtils.getClientReqPathPrefix should return /proxytest/ when request path is /proxytest/test/xxx
This commit is contained in:
@@ -267,7 +267,12 @@ public abstract class WebUtils {
|
||||
|
||||
public static String getClientReqPathPrefix(ServerWebExchange exchange) {
|
||||
String p = exchange.getRequest().getPath().value();
|
||||
return p.substring(0, p.indexOf(getClientService(exchange)));
|
||||
// return p.substring(0, p.indexOf(getClientService(exchange)));
|
||||
byte i = 7;
|
||||
if (p.charAt(6) == 't') {
|
||||
i = 11;
|
||||
}
|
||||
return p.substring(0, i);
|
||||
}
|
||||
|
||||
public static String getClientReqQuery(ServerWebExchange exchange) {
|
||||
|
||||
31
src/test/java/we/util/WebUtilsTests.java
Normal file
31
src/test/java/we/util/WebUtilsTests.java
Normal file
@@ -0,0 +1,31 @@
|
||||
package we.util;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
|
||||
import org.springframework.mock.web.server.MockServerWebExchange;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
/**
|
||||
* @author hongqiaowei
|
||||
*/
|
||||
|
||||
public class WebUtilsTests {
|
||||
|
||||
@Test
|
||||
void getClientReqPathPrefixTest() {
|
||||
MockServerHttpRequest mockRequest = MockServerHttpRequest.get("http://127.0.0.1:8600/proxytest/xservice/ybiz").build();
|
||||
MockServerWebExchange mockExchange = MockServerWebExchange.from(mockRequest);
|
||||
String clientService = WebUtils.getClientService(mockExchange);
|
||||
assertEquals(clientService, "xservice");
|
||||
String clientReqPathPrefix = WebUtils.getClientReqPathPrefix(mockExchange);
|
||||
assertEquals(clientReqPathPrefix, "/proxytest/");
|
||||
|
||||
MockServerHttpRequest mr = MockServerHttpRequest.get("http://127.0.0.1:8600/proxytest/test/ybiz").build();
|
||||
MockServerWebExchange me = MockServerWebExchange.from(mr);
|
||||
String cs = WebUtils.getClientService(me);
|
||||
System.err.println(cs);
|
||||
String crpp = WebUtils.getClientReqPathPrefix(me);
|
||||
System.err.println(crpp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user