diff options
author | Antoine GIRARD <sapk@users.noreply.github.com> | 2017-11-29 00:35:23 +0100 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2017-11-29 01:35:23 +0200 |
commit | 4035ab05fa2d2c8ec95d346fea91cab8211dab17 (patch) | |
tree | 623d09ee6ab41eba7307cb3be7ce176458455dab /modules/lfs/locks.go | |
parent | c80d147fa911c2aa711bc3f310d7bef11681230b (diff) | |
download | gitea-4035ab05fa2d2c8ec95d346fea91cab8211dab17.tar.gz gitea-4035ab05fa2d2c8ec95d346fea91cab8211dab17.zip |
Fix git lfs path (#3016)
* add suffix .git
* Remove Content-Type on GET methods
* Add migrations to force creation before any further potential migration
Diffstat (limited to 'modules/lfs/locks.go')
-rw-r--r-- | modules/lfs/locks.go | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/modules/lfs/locks.go b/modules/lfs/locks.go index 38d290e13b..2e776c26a0 100644 --- a/modules/lfs/locks.go +++ b/modules/lfs/locks.go @@ -7,6 +7,7 @@ package lfs import ( "encoding/json" "strconv" + "strings" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" @@ -16,13 +17,19 @@ import ( "gopkg.in/macaron.v1" ) -func checkRequest(req macaron.Request) int { +func checkRequest(req macaron.Request, post bool) int { if !setting.LFS.StartServer { return 404 } - if !MetaMatcher(req) || req.Header.Get("Content-Type") != metaMediaType { + if !MetaMatcher(req) { return 400 } + if post { + mediaParts := strings.Split(req.Header.Get("Content-Type"), ";") + if mediaParts[0] != metaMediaType { + return 400 + } + } return 200 } @@ -52,7 +59,7 @@ func handleLockListOut(ctx *context.Context, lock *models.LFSLock, err error) { // GetListLockHandler list locks func GetListLockHandler(ctx *context.Context) { - status := checkRequest(ctx.Req) + status := checkRequest(ctx.Req, false) if status != 200 { writeStatus(ctx, status) return @@ -113,7 +120,7 @@ func GetListLockHandler(ctx *context.Context) { // PostLockHandler create lock func PostLockHandler(ctx *context.Context) { - status := checkRequest(ctx.Req) + status := checkRequest(ctx.Req, true) if status != 200 { writeStatus(ctx, status) return @@ -157,7 +164,7 @@ func PostLockHandler(ctx *context.Context) { // VerifyLockHandler list locks for verification func VerifyLockHandler(ctx *context.Context) { - status := checkRequest(ctx.Req) + status := checkRequest(ctx.Req, true) if status != 200 { writeStatus(ctx, status) return @@ -204,7 +211,7 @@ func VerifyLockHandler(ctx *context.Context) { // UnLockHandler delete locks func UnLockHandler(ctx *context.Context) { - status := checkRequest(ctx.Req) + status := checkRequest(ctx.Req, true) if status != 200 { writeStatus(ctx, status) return |