api/repo: fix cannot reponse branch with slashes (#4198)

master
Unknwon 2017-03-10 23:37:25 -05:00
parent ac8b1e595f
commit 3eb57370a6
No known key found for this signature in database
GPG Key ID: 25B575AE3213B2B3
3 changed files with 9 additions and 4 deletions

View File

@ -32,7 +32,7 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) {
}
if status == 500 {
log.Error(4, "%s: %s", title, message)
log.Error(3, "%s: %s", title, message)
}
ctx.JSON(status, map[string]string{

View File

@ -258,7 +258,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Get("/forks", repo.ListForks)
m.Group("/branches", func() {
m.Get("", repo.ListBranches)
m.Get("/:branchname", repo.GetBranch)
m.Get("/*", repo.GetBranch)
})
m.Group("/keys", func() {
m.Combo("").Get(repo.ListDeployKeys).

View File

@ -7,15 +7,20 @@ package repo
import (
api "github.com/gogits/go-gogs-client"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/context"
"github.com/gogits/gogs/routers/api/v1/convert"
)
// https://github.com/gogits/go-gogs-client/wiki/Repositories#get-branch
func GetBranch(ctx *context.APIContext) {
branch, err := ctx.Repo.Repository.GetBranch(ctx.Params(":branchname"))
branch, err := ctx.Repo.Repository.GetBranch(ctx.Params("*"))
if err != nil {
ctx.Error(500, "GetBranch", err)
if models.IsErrBranchNotExist(err) {
ctx.Error(404, "GetBranch", err)
} else {
ctx.Error(500, "GetBranch", err)
}
return
}