diff --git a/modules/core/src/main/java/org/apache/synapse/rest/RESTUtils.java b/modules/core/src/main/java/org/apache/synapse/rest/RESTUtils.java index c9fcc0e80..0f8ff16b6 100644 --- a/modules/core/src/main/java/org/apache/synapse/rest/RESTUtils.java +++ b/modules/core/src/main/java/org/apache/synapse/rest/RESTUtils.java @@ -59,10 +59,11 @@ public static String trimSlashes(String url) { } public static String trimTrailingSlashes(String url) { - while (url.endsWith("/")) { - url = url.substring(0, url.length() - 1); + int end = url.length(); + while (end > 0 && url.charAt(end - 1) == '/') { + end--; } - return url; + return end == url.length() ? url : url.substring(0, end); } public static String getFullRequestPath(MessageContext synCtx) {