@@ -13,6 +13,7 @@ import (
1313 "code.gitea.io/gitea/modules/setting"
1414 "code.gitea.io/gitea/modules/web"
1515 "code.gitea.io/gitea/services/context"
16+ "code.gitea.io/gitea/services/lfs"
1617
1718 "gitea.com/go-chi/binding"
1819 chi_middleware "github.com/go-chi/chi/v5/middleware"
@@ -80,5 +81,25 @@ func Routes() *web.Router {
8081 r .Post ("/restore_repo" , RestoreRepo )
8182 r .Post ("/actions/generate_actions_runner_token" , GenerateActionsRunnerToken )
8283
84+ r .Group ("/repo/{username}/{reponame}" , func () {
85+ r .Group ("/info/lfs" , func () {
86+ r .Post ("/objects/batch" , lfs .CheckAcceptMediaType , lfs .BatchHandler )
87+ r .Put ("/objects/{oid}/{size}" , lfs .UploadHandler )
88+ r .Get ("/objects/{oid}/{filename}" , lfs .DownloadHandler )
89+ r .Get ("/objects/{oid}" , lfs .DownloadHandler )
90+ r .Post ("/verify" , lfs .CheckAcceptMediaType , lfs .VerifyHandler )
91+ r .Group ("/locks" , func () {
92+ r .Get ("/" , lfs .GetListLockHandler )
93+ r .Post ("/" , lfs .PostLockHandler )
94+ r .Post ("/verify" , lfs .VerifyLockHandler )
95+ r .Post ("/{lid}/unlock" , lfs .UnLockHandler )
96+ }, lfs .CheckAcceptMediaType )
97+ r .Any ("/*" , func (ctx * context.Context ) {
98+ ctx .NotFound ("" , nil )
99+ })
100+ })
101+ })
102+ // end "/repo/{username}/{reponame}": git (LFS) API mirror
103+
83104 return r
84105}
0 commit comments