@@ -12,7 +12,9 @@ import (
12
12
"code.gitea.io/gitea/modules/private"
13
13
"code.gitea.io/gitea/modules/setting"
14
14
"code.gitea.io/gitea/modules/web"
15
+ "code.gitea.io/gitea/routers/common"
15
16
"code.gitea.io/gitea/services/context"
17
+ "code.gitea.io/gitea/services/lfs"
16
18
17
19
"gitea.com/go-chi/binding"
18
20
chi_middleware "github.com/go-chi/chi/v5/middleware"
@@ -80,5 +82,25 @@ func Routes() *web.Router {
80
82
r .Post ("/restore_repo" , RestoreRepo )
81
83
r .Post ("/actions/generate_actions_runner_token" , GenerateActionsRunnerToken )
82
84
85
+ r .Group ("/repo/{username}/{reponame}" , func () {
86
+ r .Group ("/info/lfs" , func () {
87
+ r .Post ("/objects/batch" , lfs .CheckAcceptMediaType , lfs .BatchHandler )
88
+ r .Put ("/objects/{oid}/{size}" , lfs .UploadHandler )
89
+ r .Get ("/objects/{oid}/{filename}" , lfs .DownloadHandler )
90
+ r .Get ("/objects/{oid}" , lfs .DownloadHandler )
91
+ r .Post ("/verify" , lfs .CheckAcceptMediaType , lfs .VerifyHandler )
92
+ r .Group ("/locks" , func () {
93
+ r .Get ("/" , lfs .GetListLockHandler )
94
+ r .Post ("/" , lfs .PostLockHandler )
95
+ r .Post ("/verify" , lfs .VerifyLockHandler )
96
+ r .Post ("/{lid}/unlock" , lfs .UnLockHandler )
97
+ }, lfs .CheckAcceptMediaType )
98
+ r .Any ("/*" , func (ctx * context.Context ) {
99
+ ctx .NotFound ("" , nil )
100
+ })
101
+ })
102
+ }, common .Sessioner (), context .Contexter ())
103
+ // end "/repo/{username}/{reponame}": git (LFS) API mirror
104
+
83
105
return r
84
106
}
0 commit comments