mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 08:02:36 +09:00 
			
		
		
		
	* 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
		
			
				
	
	
		
			31 lines
		
	
	
		
			706 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			706 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// 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)
 | 
						|
}
 |