Merge "LfsSshAuth: Prevent repeated slash in response href" into stable-2.13
diff --git a/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsSshAuth.java b/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsSshAuth.java
index d82abff..34a0937 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsSshAuth.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/lfs/LfsSshAuth.java
@@ -54,10 +54,16 @@
throws UnloggedFailure, Failure {
try {
URL url = new URL(canonicalWebUrl);
- String href = url.getProtocol() + "://" + url.getAuthority()
- + url.getPath() + "/" + args.get(0) + "/info/lfs";
+ String path = url.getPath();
+ StringBuilder href = new StringBuilder(url.getProtocol())
+ .append("://")
+ .append(url.getAuthority())
+ .append(path)
+ .append(path.endsWith("/") ? "" : "/")
+ .append(args.get(0))
+ .append("/info/lfs");
Response.Action response = new Response.Action();
- response.href = href;
+ response.href = href.toString();
response.header =
Collections.singletonMap(HDR_AUTHORIZATION, "not:required");