Fix redirect url of legacy commits route (#2825)

release/v1.15
Morlinest 2017-11-02 23:01:22 +01:00 committed by Lauris BH
parent 529f9d03ce
commit 1f04c00e2f
2 changed files with 4 additions and 12 deletions

View File

@ -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))
}
}

View File

@ -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
}
}