package bucket import ( "fmt" "net/url" "github.com/minio/minio-go/v6/pkg/s3utils" ) type List struct { prefix string maxKeys int startAfter string } func NewList(prefix string, maxKeys int, startAfter string) List { return List{ prefix: prefix, maxKeys: maxKeys, startAfter: startAfter, } } func (l List) Path() *url.URL { params := make(url.Values) params.Set("list-type", "2") params.Set("metadata", "true") params.Set("encoding-type", "url") params.Set("prefix", l.prefix) params.Set("delimiter", "") params.Set("max-keys", fmt.Sprintf("%d", l.maxKeys)) params.Set("start-after", l.startAfter) return &url.URL{ Path: "/", RawQuery: s3utils.QueryEncode(params), } }