summaryrefslogtreecommitdiffstats
path: root/services/lfs/locks.go
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2021-06-06 01:59:27 +0200
committerGitHub <noreply@github.com>2021-06-06 01:59:27 +0200
commitee5e1c4a88f2f075587bfbc39438b6d6b1c3044e (patch)
tree5953d6094edeaa0ff65209ead9cc7a3ad6d753dc /services/lfs/locks.go
parentChange default TMPDIR path in rootless containers (#16077) (diff)
downloadforgejo-ee5e1c4a88f2f075587bfbc39438b6d6b1c3044e.tar.xz
forgejo-ee5e1c4a88f2f075587bfbc39438b6d6b1c3044e.zip
Rewrite of the LFS server (#15523)
* Restructured code. Moved static checks out of loop. * Restructured batch api. Add support for individual errors. * Let router decide if LFS is enabled. * Renamed methods. * Return correct status from verify handler. * Unified media type check in router. * Changed error code according to spec. * Moved checks into router. * Removed invalid v1 api methods. * Unified methods. * Display better error messages. * Added size parameter. Create meta object on upload. * Use object error on invalid size. * Skip upload if object exists. * Moved methods. * Suppress fields in response. * Changed error on accept. * Added tests. * Use ErrorResponse object. * Test against message property. * Add support for the old invalid lfs client. * Fixed the check because MinIO wraps the error. * Use individual repositories. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'services/lfs/locks.go')
-rw-r--r--services/lfs/locks.go37
1 files changed, 1 insertions, 36 deletions
diff --git a/services/lfs/locks.go b/services/lfs/locks.go
index ad204c46e2..20ba12e65b 100644
--- a/services/lfs/locks.go
+++ b/services/lfs/locks.go
@@ -19,21 +19,6 @@ import (
jsoniter "github.com/json-iterator/go"
)
-//checkIsValidRequest check if it a valid request in case of bad request it write the response to ctx.
-func checkIsValidRequest(ctx *context.Context) bool {
- if !setting.LFS.StartServer {
- log.Debug("Attempt to access LFS server but LFS server is disabled")
- writeStatus(ctx, http.StatusNotFound)
- return false
- }
- if !MetaMatcher(ctx.Req) {
- log.Info("Attempt access LOCKs without accepting the correct media type: %s", lfs_module.MediaType)
- writeStatus(ctx, http.StatusBadRequest)
- return false
- }
- return true
-}
-
func handleLockListOut(ctx *context.Context, repo *models.Repository, lock *models.LFSLock, err error) {
if err != nil {
if models.IsErrLFSLockNotExist(err) {
@@ -60,12 +45,7 @@ func handleLockListOut(ctx *context.Context, repo *models.Repository, lock *mode
// GetListLockHandler list locks
func GetListLockHandler(ctx *context.Context) {
- if !checkIsValidRequest(ctx) {
- // Status is written in checkIsValidRequest
- return
- }
-
- rv, _ := unpack(ctx)
+ rv := getRequestContext(ctx)
repository, err := models.GetRepositoryByOwnerAndName(rv.User, rv.Repo)
if err != nil {
@@ -150,11 +130,6 @@ func GetListLockHandler(ctx *context.Context) {
// PostLockHandler create lock
func PostLockHandler(ctx *context.Context) {
- if !checkIsValidRequest(ctx) {
- // Status is written in checkIsValidRequest
- return
- }
-
userName := ctx.Params("username")
repoName := strings.TrimSuffix(ctx.Params("reponame"), ".git")
authorization := ctx.Req.Header.Get("Authorization")
@@ -223,11 +198,6 @@ func PostLockHandler(ctx *context.Context) {
// VerifyLockHandler list locks for verification
func VerifyLockHandler(ctx *context.Context) {
- if !checkIsValidRequest(ctx) {
- // Status is written in checkIsValidRequest
- return
- }
-
userName := ctx.Params("username")
repoName := strings.TrimSuffix(ctx.Params("reponame"), ".git")
authorization := ctx.Req.Header.Get("Authorization")
@@ -294,11 +264,6 @@ func VerifyLockHandler(ctx *context.Context) {
// UnLockHandler delete locks
func UnLockHandler(ctx *context.Context) {
- if !checkIsValidRequest(ctx) {
- // Status is written in checkIsValidRequest
- return
- }
-
userName := ctx.Params("username")
repoName := strings.TrimSuffix(ctx.Params("reponame"), ".git")
authorization := ctx.Req.Header.Get("Authorization")