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 }