diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-04-10 22:13:42 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-10 22:13:42 +0800 |
commit | 9a5b227f3ee2b2a3854d3aec022cc9a0cf0868b3 (patch) | |
tree | 7600826f4affce28e95588de921d801f0414f046 /internal/route/lfs/route.go | |
parent | 3e055e329cf93eb5de77562d7795240808d31c08 (diff) |
lfsutil: add `Storager` interface and local storage (#6083)
* Add Storager interface
* Add tests
* Add back note
* Add tests for basic protocol routes
* Fix lint errors
Diffstat (limited to 'internal/route/lfs/route.go')
-rw-r--r-- | internal/route/lfs/route.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/internal/route/lfs/route.go b/internal/route/lfs/route.go index 08045ac5..16478803 100644 --- a/internal/route/lfs/route.go +++ b/internal/route/lfs/route.go @@ -13,6 +13,7 @@ import ( log "unknwon.dev/clog/v2" "gogs.io/gogs/internal/authutil" + "gogs.io/gogs/internal/conf" "gogs.io/gogs/internal/db" "gogs.io/gogs/internal/lfsutil" ) @@ -26,10 +27,17 @@ func RegisterRoutes(r *macaron.Router) { r.Group("", func() { r.Post("/objects/batch", authorize(db.AccessModeRead), verifyAccept, verifyContentTypeJSON, serveBatch) r.Group("/objects/basic", func() { + + basic := &basicHandler{ + defaultStorage: lfsutil.Storage(conf.LFS.Storage), + storagers: map[lfsutil.Storage]lfsutil.Storager{ + lfsutil.StorageLocal: &lfsutil.LocalStorage{Root: conf.LFS.ObjectsPath}, + }, + } r.Combo("/:oid", verifyOID()). - Get(authorize(db.AccessModeRead), serveBasicDownload). - Put(authorize(db.AccessModeWrite), verifyContentTypeStream, serveBasicUpload) - r.Post("/verify", authorize(db.AccessModeWrite), verifyAccept, verifyContentTypeJSON, serveBasicVerify) + Get(authorize(db.AccessModeRead), basic.serveDownload). + Put(authorize(db.AccessModeWrite), verifyContentTypeStream, basic.serveUpload) + r.Post("/verify", authorize(db.AccessModeWrite), verifyAccept, verifyContentTypeJSON, basic.serveVerify) }) }, authenticate()) } |