aboutsummaryrefslogtreecommitdiff
path: root/internal/route/lfs/route.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-04-10 22:13:42 +0800
committerGitHub <noreply@github.com>2020-04-10 22:13:42 +0800
commit9a5b227f3ee2b2a3854d3aec022cc9a0cf0868b3 (patch)
tree7600826f4affce28e95588de921d801f0414f046 /internal/route/lfs/route.go
parent3e055e329cf93eb5de77562d7795240808d31c08 (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.go14
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())
}