gitea源码

123456789101112131415161718192021222324252627
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package web
  4. import (
  5. "code.gitea.io/gitea/modules/web"
  6. "code.gitea.io/gitea/routers/web/repo"
  7. "code.gitea.io/gitea/services/context"
  8. )
  9. func addOwnerRepoGitHTTPRouters(m *web.Router) {
  10. m.Group("/{username}/{reponame}", func() {
  11. m.Methods("POST,OPTIONS", "/git-upload-pack", repo.ServiceUploadPack)
  12. m.Methods("POST,OPTIONS", "/git-receive-pack", repo.ServiceReceivePack)
  13. m.Methods("GET,OPTIONS", "/info/refs", repo.GetInfoRefs)
  14. m.Methods("GET,OPTIONS", "/HEAD", repo.GetTextFile("HEAD"))
  15. m.Methods("GET,OPTIONS", "/objects/info/alternates", repo.GetTextFile("objects/info/alternates"))
  16. m.Methods("GET,OPTIONS", "/objects/info/http-alternates", repo.GetTextFile("objects/info/http-alternates"))
  17. m.Methods("GET,OPTIONS", "/objects/info/packs", repo.GetInfoPacks)
  18. m.Methods("GET,OPTIONS", "/objects/info/{file:[^/]*}", repo.GetTextFile(""))
  19. m.Methods("GET,OPTIONS", "/objects/{head:[0-9a-f]{2}}/{hash:[0-9a-f]{38,62}}", repo.GetLooseObject)
  20. m.Methods("GET,OPTIONS", "/objects/pack/pack-{file:[0-9a-f]{40,64}}.pack", repo.GetPackFile)
  21. m.Methods("GET,OPTIONS", "/objects/pack/pack-{file:[0-9a-f]{40,64}}.idx", repo.GetIdxFile)
  22. }, optSignInIgnoreCsrf, repo.HTTPGitEnabledHandler, repo.CorsHandler(), context.UserAssignmentWeb())
  23. }