38 lines
720 B
Go
38 lines
720 B
Go
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),
|
|
}
|
|
}
|