mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-10-30 06:09:26 +01:00
Fix redirect url of legacy commits route (#2825)
This commit is contained in:
parent
529f9d03ce
commit
1f04c00e2f
2 changed files with 4 additions and 12 deletions
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue