[chore]: Bump github.com/minio/minio-go/v7 from 7.0.59 to 7.0.60 (#1992)
This commit is contained in:
parent
d53449ccb4
commit
83139989b5
2
go.mod
2
go.mod
|
@ -36,7 +36,7 @@ require (
|
||||||
github.com/jackc/pgx/v5 v5.4.1
|
github.com/jackc/pgx/v5 v5.4.1
|
||||||
github.com/microcosm-cc/bluemonday v1.0.24
|
github.com/microcosm-cc/bluemonday v1.0.24
|
||||||
github.com/miekg/dns v1.1.55
|
github.com/miekg/dns v1.1.55
|
||||||
github.com/minio/minio-go/v7 v7.0.59
|
github.com/minio/minio-go/v7 v7.0.60
|
||||||
github.com/mitchellh/mapstructure v1.5.0
|
github.com/mitchellh/mapstructure v1.5.0
|
||||||
github.com/oklog/ulid v1.3.1
|
github.com/oklog/ulid v1.3.1
|
||||||
github.com/spf13/cobra v1.7.0
|
github.com/spf13/cobra v1.7.0
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -450,8 +450,8 @@ github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo=
|
||||||
github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
|
github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
|
||||||
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
|
||||||
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
|
||||||
github.com/minio/minio-go/v7 v7.0.59 h1:lxIXwsTIcQkYoEG25rUJbzpmSB/oWeVDmxFo/uWUUsw=
|
github.com/minio/minio-go/v7 v7.0.60 h1:iHkrmWyHFs/eZiWc2F/5jAHtNBAFy+HjdhMX6FkkPWc=
|
||||||
github.com/minio/minio-go/v7 v7.0.59/go.mod h1:NUDy4A4oXPq1l2yK6LTSvCEzAMeIcoz9lcj5dbzSrRE=
|
github.com/minio/minio-go/v7 v7.0.60/go.mod h1:NUDy4A4oXPq1l2yK6LTSvCEzAMeIcoz9lcj5dbzSrRE=
|
||||||
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
|
github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM=
|
||||||
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
|
github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8=
|
||||||
github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=
|
github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=
|
||||||
|
|
|
@ -220,6 +220,11 @@ type ObjectInfo struct {
|
||||||
ChecksumSHA1 string
|
ChecksumSHA1 string
|
||||||
ChecksumSHA256 string
|
ChecksumSHA256 string
|
||||||
|
|
||||||
|
Internal *struct {
|
||||||
|
K int // Data blocks
|
||||||
|
M int // Parity blocks
|
||||||
|
} `xml:"Internal"`
|
||||||
|
|
||||||
// Error
|
// Error
|
||||||
Err error `json:"-"`
|
Err error `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,15 @@ func (c *Client) listObjectsV2(ctx context.Context, bucketName string, opts List
|
||||||
|
|
||||||
// Initiate list objects goroutine here.
|
// Initiate list objects goroutine here.
|
||||||
go func(objectStatCh chan<- ObjectInfo) {
|
go func(objectStatCh chan<- ObjectInfo) {
|
||||||
defer close(objectStatCh)
|
defer func() {
|
||||||
|
if contextCanceled(ctx) {
|
||||||
|
objectStatCh <- ObjectInfo{
|
||||||
|
Err: ctx.Err(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(objectStatCh)
|
||||||
|
}()
|
||||||
|
|
||||||
// Save continuationToken for next request.
|
// Save continuationToken for next request.
|
||||||
var continuationToken string
|
var continuationToken string
|
||||||
for {
|
for {
|
||||||
|
@ -304,7 +312,14 @@ func (c *Client) listObjects(ctx context.Context, bucketName string, opts ListOb
|
||||||
|
|
||||||
// Initiate list objects goroutine here.
|
// Initiate list objects goroutine here.
|
||||||
go func(objectStatCh chan<- ObjectInfo) {
|
go func(objectStatCh chan<- ObjectInfo) {
|
||||||
defer close(objectStatCh)
|
defer func() {
|
||||||
|
if contextCanceled(ctx) {
|
||||||
|
objectStatCh <- ObjectInfo{
|
||||||
|
Err: ctx.Err(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(objectStatCh)
|
||||||
|
}()
|
||||||
|
|
||||||
marker := opts.StartAfter
|
marker := opts.StartAfter
|
||||||
for {
|
for {
|
||||||
|
@ -321,6 +336,7 @@ func (c *Client) listObjects(ctx context.Context, bucketName string, opts ListOb
|
||||||
for _, object := range result.Contents {
|
for _, object := range result.Contents {
|
||||||
// Save the marker.
|
// Save the marker.
|
||||||
marker = object.Key
|
marker = object.Key
|
||||||
|
object.ETag = trimEtag(object.ETag)
|
||||||
select {
|
select {
|
||||||
// Send object content.
|
// Send object content.
|
||||||
case objectStatCh <- object:
|
case objectStatCh <- object:
|
||||||
|
@ -393,7 +409,14 @@ func (c *Client) listObjectVersions(ctx context.Context, bucketName string, opts
|
||||||
|
|
||||||
// Initiate list objects goroutine here.
|
// Initiate list objects goroutine here.
|
||||||
go func(resultCh chan<- ObjectInfo) {
|
go func(resultCh chan<- ObjectInfo) {
|
||||||
defer close(resultCh)
|
defer func() {
|
||||||
|
if contextCanceled(ctx) {
|
||||||
|
resultCh <- ObjectInfo{
|
||||||
|
Err: ctx.Err(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(resultCh)
|
||||||
|
}()
|
||||||
|
|
||||||
var (
|
var (
|
||||||
keyMarker = ""
|
keyMarker = ""
|
||||||
|
@ -424,6 +447,7 @@ func (c *Client) listObjectVersions(ctx context.Context, bucketName string, opts
|
||||||
IsDeleteMarker: version.isDeleteMarker,
|
IsDeleteMarker: version.isDeleteMarker,
|
||||||
UserTags: version.UserTags,
|
UserTags: version.UserTags,
|
||||||
UserMetadata: version.UserMetadata,
|
UserMetadata: version.UserMetadata,
|
||||||
|
Internal: version.Internal,
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
// Send object version info.
|
// Send object version info.
|
||||||
|
@ -698,6 +722,10 @@ func (o *ListObjectsOptions) Set(key, value string) {
|
||||||
// for object := range api.ListObjects(ctx, "mytestbucket", minio.ListObjectsOptions{Prefix: "starthere", Recursive:true}) {
|
// for object := range api.ListObjects(ctx, "mytestbucket", minio.ListObjectsOptions{Prefix: "starthere", Recursive:true}) {
|
||||||
// fmt.Println(object)
|
// fmt.Println(object)
|
||||||
// }
|
// }
|
||||||
|
//
|
||||||
|
// If caller cancels the context, then the last entry on the 'chan ObjectInfo' will be the context.Error()
|
||||||
|
// caller must drain the channel entirely and wait until channel is closed before proceeding, without
|
||||||
|
// waiting on the channel to be closed completely you might leak goroutines.
|
||||||
func (c *Client) ListObjects(ctx context.Context, bucketName string, opts ListObjectsOptions) <-chan ObjectInfo {
|
func (c *Client) ListObjects(ctx context.Context, bucketName string, opts ListObjectsOptions) <-chan ObjectInfo {
|
||||||
if opts.WithVersions {
|
if opts.WithVersions {
|
||||||
return c.listObjectVersions(ctx, bucketName, opts)
|
return c.listObjectVersions(ctx, bucketName, opts)
|
||||||
|
@ -738,6 +766,16 @@ func (c *Client) ListIncompleteUploads(ctx context.Context, bucketName, objectPr
|
||||||
return c.listIncompleteUploads(ctx, bucketName, objectPrefix, recursive)
|
return c.listIncompleteUploads(ctx, bucketName, objectPrefix, recursive)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// contextCanceled returns whether a context is canceled.
|
||||||
|
func contextCanceled(ctx context.Context) bool {
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return true
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// listIncompleteUploads lists all incomplete uploads.
|
// listIncompleteUploads lists all incomplete uploads.
|
||||||
func (c *Client) listIncompleteUploads(ctx context.Context, bucketName, objectPrefix string, recursive bool) <-chan ObjectMultipartInfo {
|
func (c *Client) listIncompleteUploads(ctx context.Context, bucketName, objectPrefix string, recursive bool) <-chan ObjectMultipartInfo {
|
||||||
// Allocate channel for multipart uploads.
|
// Allocate channel for multipart uploads.
|
||||||
|
@ -765,7 +803,15 @@ func (c *Client) listIncompleteUploads(ctx context.Context, bucketName, objectPr
|
||||||
return objectMultipartStatCh
|
return objectMultipartStatCh
|
||||||
}
|
}
|
||||||
go func(objectMultipartStatCh chan<- ObjectMultipartInfo) {
|
go func(objectMultipartStatCh chan<- ObjectMultipartInfo) {
|
||||||
defer close(objectMultipartStatCh)
|
defer func() {
|
||||||
|
if contextCanceled(ctx) {
|
||||||
|
objectMultipartStatCh <- ObjectMultipartInfo{
|
||||||
|
Err: ctx.Err(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(objectMultipartStatCh)
|
||||||
|
}()
|
||||||
|
|
||||||
// object and upload ID marker for future requests.
|
// object and upload ID marker for future requests.
|
||||||
var objectMarker string
|
var objectMarker string
|
||||||
var uploadIDMarker string
|
var uploadIDMarker string
|
||||||
|
|
|
@ -93,6 +93,11 @@ type Version struct {
|
||||||
// Only returned by MinIO servers.
|
// Only returned by MinIO servers.
|
||||||
UserTags URLMap `json:"userTags,omitempty" xml:"UserTags"`
|
UserTags URLMap `json:"userTags,omitempty" xml:"UserTags"`
|
||||||
|
|
||||||
|
Internal *struct {
|
||||||
|
K int // Data blocks
|
||||||
|
M int // Parity blocks
|
||||||
|
} `xml:"Internal"`
|
||||||
|
|
||||||
isDeleteMarker bool
|
isDeleteMarker bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ type Options struct {
|
||||||
// Global constants.
|
// Global constants.
|
||||||
const (
|
const (
|
||||||
libraryName = "minio-go"
|
libraryName = "minio-go"
|
||||||
libraryVersion = "v7.0.59"
|
libraryVersion = "v7.0.60"
|
||||||
)
|
)
|
||||||
|
|
||||||
// User Agent should always following the below style.
|
// User Agent should always following the below style.
|
||||||
|
|
|
@ -2471,7 +2471,8 @@ func testTrailingChecksums() {
|
||||||
PO minio.PutObjectOptions
|
PO minio.PutObjectOptions
|
||||||
}{
|
}{
|
||||||
// Currently there is no way to override the checksum type.
|
// Currently there is no way to override the checksum type.
|
||||||
{header: "x-amz-checksum-crc32c",
|
{
|
||||||
|
header: "x-amz-checksum-crc32c",
|
||||||
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
||||||
ChecksumCRC32C: "set",
|
ChecksumCRC32C: "set",
|
||||||
PO: minio.PutObjectOptions{
|
PO: minio.PutObjectOptions{
|
||||||
|
@ -2481,7 +2482,8 @@ func testTrailingChecksums() {
|
||||||
PartSize: 5 << 20,
|
PartSize: 5 << 20,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{header: "x-amz-checksum-crc32c",
|
{
|
||||||
|
header: "x-amz-checksum-crc32c",
|
||||||
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
||||||
ChecksumCRC32C: "set",
|
ChecksumCRC32C: "set",
|
||||||
PO: minio.PutObjectOptions{
|
PO: minio.PutObjectOptions{
|
||||||
|
@ -2491,7 +2493,8 @@ func testTrailingChecksums() {
|
||||||
PartSize: 6_645_654, // Rather arbitrary size
|
PartSize: 6_645_654, // Rather arbitrary size
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{header: "x-amz-checksum-crc32c",
|
{
|
||||||
|
header: "x-amz-checksum-crc32c",
|
||||||
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
||||||
ChecksumCRC32C: "set",
|
ChecksumCRC32C: "set",
|
||||||
PO: minio.PutObjectOptions{
|
PO: minio.PutObjectOptions{
|
||||||
|
@ -2501,7 +2504,8 @@ func testTrailingChecksums() {
|
||||||
PartSize: 5 << 20,
|
PartSize: 5 << 20,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{header: "x-amz-checksum-crc32c",
|
{
|
||||||
|
header: "x-amz-checksum-crc32c",
|
||||||
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
hasher: crc32.New(crc32.MakeTable(crc32.Castagnoli)),
|
||||||
ChecksumCRC32C: "set",
|
ChecksumCRC32C: "set",
|
||||||
PO: minio.PutObjectOptions{
|
PO: minio.PutObjectOptions{
|
||||||
|
|
|
@ -308,19 +308,27 @@ func (eDate ExpirationDate) MarshalXML(e *xml.Encoder, startElement xml.StartEle
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExpireDeleteMarker represents value of ExpiredObjectDeleteMarker field in Expiration XML element.
|
// ExpireDeleteMarker represents value of ExpiredObjectDeleteMarker field in Expiration XML element.
|
||||||
type ExpireDeleteMarker bool
|
type ExpireDeleteMarker ExpirationBoolean
|
||||||
|
|
||||||
|
// IsEnabled returns true if the auto delete-marker expiration is enabled
|
||||||
|
func (e ExpireDeleteMarker) IsEnabled() bool {
|
||||||
|
return bool(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExpirationBoolean represents an XML version of 'bool' type
|
||||||
|
type ExpirationBoolean bool
|
||||||
|
|
||||||
// MarshalXML encodes delete marker boolean into an XML form.
|
// MarshalXML encodes delete marker boolean into an XML form.
|
||||||
func (b ExpireDeleteMarker) MarshalXML(e *xml.Encoder, startElement xml.StartElement) error {
|
func (b ExpirationBoolean) MarshalXML(e *xml.Encoder, startElement xml.StartElement) error {
|
||||||
if !b {
|
if !b {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
type expireDeleteMarkerWrapper ExpireDeleteMarker
|
type booleanWrapper ExpirationBoolean
|
||||||
return e.EncodeElement(expireDeleteMarkerWrapper(b), startElement)
|
return e.EncodeElement(booleanWrapper(b), startElement)
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsEnabled returns true if the auto delete-marker expiration is enabled
|
// IsEnabled returns true if the expiration boolean is enabled
|
||||||
func (b ExpireDeleteMarker) IsEnabled() bool {
|
func (b ExpirationBoolean) IsEnabled() bool {
|
||||||
return bool(b)
|
return bool(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,6 +338,7 @@ type Expiration struct {
|
||||||
Date ExpirationDate `xml:"Date,omitempty" json:"Date,omitempty"`
|
Date ExpirationDate `xml:"Date,omitempty" json:"Date,omitempty"`
|
||||||
Days ExpirationDays `xml:"Days,omitempty" json:"Days,omitempty"`
|
Days ExpirationDays `xml:"Days,omitempty" json:"Days,omitempty"`
|
||||||
DeleteMarker ExpireDeleteMarker `xml:"ExpiredObjectDeleteMarker,omitempty" json:"ExpiredObjectDeleteMarker,omitempty"`
|
DeleteMarker ExpireDeleteMarker `xml:"ExpiredObjectDeleteMarker,omitempty" json:"ExpiredObjectDeleteMarker,omitempty"`
|
||||||
|
DeleteAll ExpirationBoolean `xml:"ExpiredObjectAllVersions,omitempty" json:"ExpiredObjectAllVersions,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// MarshalJSON customizes json encoding by removing empty day/date specification.
|
// MarshalJSON customizes json encoding by removing empty day/date specification.
|
||||||
|
@ -338,10 +347,12 @@ func (e Expiration) MarshalJSON() ([]byte, error) {
|
||||||
Date *ExpirationDate `json:"Date,omitempty"`
|
Date *ExpirationDate `json:"Date,omitempty"`
|
||||||
Days *ExpirationDays `json:"Days,omitempty"`
|
Days *ExpirationDays `json:"Days,omitempty"`
|
||||||
DeleteMarker ExpireDeleteMarker `json:"ExpiredObjectDeleteMarker,omitempty"`
|
DeleteMarker ExpireDeleteMarker `json:"ExpiredObjectDeleteMarker,omitempty"`
|
||||||
|
DeleteAll ExpirationBoolean `json:"ExpiredObjectAllVersions,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
newexp := expiration{
|
newexp := expiration{
|
||||||
DeleteMarker: e.DeleteMarker,
|
DeleteMarker: e.DeleteMarker,
|
||||||
|
DeleteAll: e.DeleteAll,
|
||||||
}
|
}
|
||||||
if !e.IsDaysNull() {
|
if !e.IsDaysNull() {
|
||||||
newexp.Days = &e.Days
|
newexp.Days = &e.Days
|
||||||
|
|
|
@ -203,6 +203,10 @@ func (tags *tagSet) set(key, value string, failOnExist bool) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (tags tagSet) count() int {
|
||||||
|
return len(tags.tagMap)
|
||||||
|
}
|
||||||
|
|
||||||
func (tags tagSet) toMap() map[string]string {
|
func (tags tagSet) toMap() map[string]string {
|
||||||
m := make(map[string]string, len(tags.tagMap))
|
m := make(map[string]string, len(tags.tagMap))
|
||||||
for key, value := range tags.tagMap {
|
for key, value := range tags.tagMap {
|
||||||
|
@ -279,6 +283,11 @@ func (tags *Tags) Set(key, value string) error {
|
||||||
return tags.TagSet.set(key, value, false)
|
return tags.TagSet.set(key, value, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Count - return number of tags accounted for
|
||||||
|
func (tags Tags) Count() int {
|
||||||
|
return tags.TagSet.count()
|
||||||
|
}
|
||||||
|
|
||||||
// ToMap returns copy of tags.
|
// ToMap returns copy of tags.
|
||||||
func (tags Tags) ToMap() map[string]string {
|
func (tags Tags) ToMap() map[string]string {
|
||||||
return tags.TagSet.toMap()
|
return tags.TagSet.toMap()
|
||||||
|
|
|
@ -386,7 +386,7 @@ github.com/miekg/dns
|
||||||
# github.com/minio/md5-simd v1.1.2
|
# github.com/minio/md5-simd v1.1.2
|
||||||
## explicit; go 1.14
|
## explicit; go 1.14
|
||||||
github.com/minio/md5-simd
|
github.com/minio/md5-simd
|
||||||
# github.com/minio/minio-go/v7 v7.0.59
|
# github.com/minio/minio-go/v7 v7.0.60
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
github.com/minio/minio-go/v7
|
github.com/minio/minio-go/v7
|
||||||
github.com/minio/minio-go/v7/pkg/credentials
|
github.com/minio/minio-go/v7/pkg/credentials
|
||||||
|
|
Loading…
Reference in New Issue