diff options
-rw-r--r-- | integrations/links_test.go | 4 | ||||
-rw-r--r-- | modules/context/repo.go | 12 |
2 files changed, 4 insertions, 12 deletions
diff --git a/integrations/links_test.go b/integrations/links_test.go index 7eaf1c51ef..e1213a2edc 100644 --- a/integrations/links_test.go +++ b/integrations/links_test.go @@ -7,8 +7,10 @@ package integrations import ( "fmt" "net/http" + "path" "testing" + "code.gitea.io/gitea/modules/setting" api "code.gitea.io/sdk/gitea" "github.com/stretchr/testify/assert" @@ -50,7 +52,7 @@ func TestRedirectsNoLogin(t *testing.T) { for link, redirectLink := range redirects { req := NewRequest(t, "GET", link) resp := MakeRequest(t, req, http.StatusFound) - assert.EqualValues(t, redirectLink, RedirectURL(t, resp)) + assert.EqualValues(t, path.Join(setting.AppSubURL, redirectLink), RedirectURL(t, resp)) } } diff --git a/modules/context/repo.go b/modules/context/repo.go index b2b58c4f26..8e0c584c82 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -521,16 +521,6 @@ func getRefName(ctx *Context, pathType RepoRefType) string { return "" } -// URL to redirect to for deprecated URL scheme -func repoRefRedirect(ctx *Context) string { - urlPath := ctx.Req.URL.String() - idx := strings.LastIndex(urlPath, ctx.Params("*")) - if idx < 0 { - idx = len(urlPath) - } - return path.Join(urlPath[:idx], ctx.Repo.BranchNameSubURL()) -} - // RepoRefByType handles repository reference name for a specific type // of repository reference func RepoRefByType(refType RepoRefType) macaron.Handler { @@ -617,7 +607,7 @@ func RepoRefByType(refType RepoRefType) macaron.Handler { if refType == RepoRefLegacy { // redirect from old URL scheme to new URL scheme - ctx.Redirect(repoRefRedirect(ctx)) + ctx.Redirect(path.Join(setting.AppSubURL, strings.TrimSuffix(ctx.Req.URL.String(), ctx.Params("*")), ctx.Repo.BranchNameSubURL())) return } } |