Skip to content

Commit 2ccf51c

Browse files
routers/private: add private equivalents to public LFS API
1 parent b837c33 commit 2ccf51c

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

modules/lfstransfer/backend/backend.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func New(ctx context.Context, repo, op, token string, logger transfer.Logger) (t
4545
if err != nil {
4646
return nil, err
4747
}
48-
server = server.JoinPath(repo, "info/lfs")
48+
server = server.JoinPath("api/internal/repo", repo, "info/lfs")
4949
return &GiteaBackend{ctx: ctx, server: server, op: op, token: token, logger: logger}, nil
5050
}
5151

routers/private/internal.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)