able to download archive by API
This commit is contained in:
		
							parent
							
								
									953bb06857
								
							
						
					
					
						commit
						d951824ff9
					
				
					 2 changed files with 14 additions and 0 deletions
				
			
		|  | @ -243,6 +243,7 @@ func runWeb(ctx *cli.Context) { | |||
| 						Post(bind(api.CreateHookOption{}), v1.CreateRepoHook) | ||||
| 					m.Patch("/hooks/:id:int", bind(api.EditHookOption{}), v1.EditRepoHook) | ||||
| 					m.Get("/raw/*", middleware.RepoRef(), v1.GetRepoRawFile) | ||||
| 					m.Get("/archive/*", v1.GetRepoArchive) | ||||
| 				}, middleware.ApiRepoAssignment(), middleware.ApiReqToken()) | ||||
| 			}) | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| package v1 | ||||
| 
 | ||||
| import ( | ||||
| 	"github.com/gogits/gogs/models" | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| 	"github.com/gogits/gogs/modules/git" | ||||
| 	"github.com/gogits/gogs/modules/middleware" | ||||
|  | @ -30,3 +31,15 @@ func GetRepoRawFile(ctx *middleware.Context) { | |||
| 		ctx.JSON(500, &base.ApiJsonErr{"ServeBlob: " + err.Error(), base.DOC_URL}) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func GetRepoArchive(ctx *middleware.Context) { | ||||
| 	repoPath := models.RepoPath(ctx.Params(":username"), ctx.Params(":reponame")) | ||||
| 	gitRepo, err := git.OpenRepository(repoPath) | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "RepoAssignment Invalid repo: "+repoPath, err) | ||||
| 		return | ||||
| 	} | ||||
| 	ctx.Repo.GitRepo = gitRepo | ||||
| 
 | ||||
| 	repo.Download(ctx) | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue