github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/gateway/operations/headbucket.go (about)

     1  package operations
     2  
     3  import (
     4  	"net/http"
     5  
     6  	"github.com/treeverse/lakefs/pkg/permissions"
     7  )
     8  
     9  type HeadBucket struct{}
    10  
    11  func (controller *HeadBucket) RequiredPermissions(_ *http.Request, repoID string) (permissions.Node, error) {
    12  	return permissions.Node{
    13  		Permission: permissions.Permission{
    14  			Action:   permissions.ReadRepositoryAction,
    15  			Resource: permissions.RepoArn(repoID),
    16  		},
    17  	}, nil
    18  }
    19  
    20  func (controller *HeadBucket) Handle(w http.ResponseWriter, req *http.Request, o *RepoOperation) {
    21  	if o.HandleUnsupported(w, req, "acl") {
    22  		return
    23  	}
    24  	o.Incr("get_repo", o.Principal, o.Repository.Name, "")
    25  	w.WriteHeader(http.StatusOK)
    26  }