mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add raw blob endpoint to get objects by SHA ID (#5334)
* Add raw blob endpoint This should make it possible to download raw blobs directly from /:repo/:username/raw/blob/:sha1 URLs. * fix: Make it work * As an SHA-ID is no path getRefNameFromPath can't be used to verify file specifying parameter * added relevant change in go-gitea/git #132 Signed-off-by: Berengar W. Lehr <Berengar.Lehr@kompetenztest.de> * Update Gopkg.lock Can't update all vendors due to errors Signed-off-by: Berengar W. Lehr <Berengar.Lehr@kompetenztest.de> * style: Add Gitea copyright header * feat: Added integration test for /repo/u/r/raw/blob * fix: correct year in copyright header
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							4651ba06c1
						
					
				
				
					commit
					e08c7e521b
				
			
							
								
								
									
										30
									
								
								vendor/code.gitea.io/git/repo_blob.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								vendor/code.gitea.io/git/repo_blob.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
// Copyright 2018 The Gitea Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a MIT-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package git
 | 
			
		||||
 | 
			
		||||
func (repo *Repository) getBlob(id SHA1) (*Blob, error) {
 | 
			
		||||
	if _, err := NewCommand("cat-file", "-p", id.String()).RunInDir(repo.Path); err != nil {
 | 
			
		||||
		return nil, ErrNotExist{id.String(), ""}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &Blob{
 | 
			
		||||
		repo: repo,
 | 
			
		||||
		TreeEntry: &TreeEntry{
 | 
			
		||||
			ID: id,
 | 
			
		||||
			ptree: &Tree{
 | 
			
		||||
				repo: repo,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetBlob finds the blob object in the repository.
 | 
			
		||||
func (repo *Repository) GetBlob(idStr string) (*Blob, error) {
 | 
			
		||||
	id, err := NewIDFromString(idStr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return repo.getBlob(id)
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user