mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-25 13:16:40 +00:00
[chore]: Bump github.com/minio/minio-go/v7 from 7.0.66 to 7.0.67 (#2662)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.66 to 7.0.67. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.66...v7.0.67) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
parent
30f6e6c7fe
commit
2db115fa36
2
go.mod
2
go.mod
|
@ -39,7 +39,7 @@ require (
|
|||
github.com/jackc/pgx/v5 v5.5.2
|
||||
github.com/microcosm-cc/bluemonday v1.0.26
|
||||
github.com/miekg/dns v1.1.58
|
||||
github.com/minio/minio-go/v7 v7.0.66
|
||||
github.com/minio/minio-go/v7 v7.0.67
|
||||
github.com/mitchellh/mapstructure v1.5.0
|
||||
github.com/oklog/ulid v1.3.1
|
||||
github.com/prometheus/client_golang v1.18.0
|
||||
|
|
4
go.sum
4
go.sum
|
@ -383,8 +383,8 @@ github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4=
|
|||
github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY=
|
||||
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/minio-go/v7 v7.0.66 h1:bnTOXOHjOqv/gcMuiVbN9o2ngRItvqE774dG9nq0Dzw=
|
||||
github.com/minio/minio-go/v7 v7.0.66/go.mod h1:DHAgmyQEGdW3Cif0UooKOyrT3Vxs82zNdV6tkKhRtbs=
|
||||
github.com/minio/minio-go/v7 v7.0.67 h1:BeBvZWAS+kRJm1vGTMJYVjKUNoo0FoEt/wUWdUtfmh8=
|
||||
github.com/minio/minio-go/v7 v7.0.67/go.mod h1:+UXocnUeZ3wHvVh5s95gcrA4YjMIbccT6ubB+1m054A=
|
||||
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/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
||||
|
|
1806
vendor/github.com/minio/minio-go/v7/CREDITS
generated
vendored
Normal file
1806
vendor/github.com/minio/minio-go/v7/CREDITS
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
201
vendor/github.com/minio/minio-go/v7/api-get-object-attributes.go
generated
vendored
Normal file
201
vendor/github.com/minio/minio-go/v7/api-get-object-attributes.go
generated
vendored
Normal file
|
@ -0,0 +1,201 @@
|
|||
/*
|
||||
* MinIO Go Library for Amazon S3 Compatible Cloud Storage
|
||||
* Copyright 2020 MinIO, Inc.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package minio
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/xml"
|
||||
"errors"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/minio/minio-go/v7/pkg/encrypt"
|
||||
"github.com/minio/minio-go/v7/pkg/s3utils"
|
||||
)
|
||||
|
||||
// ObjectAttributesOptions are options used for the GetObjectAttributes API
|
||||
//
|
||||
// - MaxParts
|
||||
// How many parts the caller wants to be returned (default: 1000)
|
||||
//
|
||||
// - VersionID
|
||||
// The object version you want to attributes for
|
||||
//
|
||||
// - PartNumberMarker
|
||||
// the listing will start AFTER the part matching PartNumberMarker
|
||||
//
|
||||
// - ServerSideEncryption
|
||||
// The server-side encryption algorithm used when storing this object in Minio
|
||||
type ObjectAttributesOptions struct {
|
||||
MaxParts int
|
||||
VersionID string
|
||||
PartNumberMarker int
|
||||
ServerSideEncryption encrypt.ServerSide
|
||||
}
|
||||
|
||||
// ObjectAttributes is the response object returned by the GetObjectAttributes API
|
||||
//
|
||||
// - VersionID
|
||||
// The object version
|
||||
//
|
||||
// - LastModified
|
||||
// The last time the object was modified
|
||||
//
|
||||
// - ObjectAttributesResponse
|
||||
// Contains more information about the object
|
||||
type ObjectAttributes struct {
|
||||
VersionID string
|
||||
LastModified time.Time
|
||||
ObjectAttributesResponse
|
||||
}
|
||||
|
||||
// ObjectAttributesResponse contains details returned by the GetObjectAttributes API
|
||||
//
|
||||
// Noteworthy fields:
|
||||
//
|
||||
// - ObjectParts.PartsCount
|
||||
// Contains the total part count for the object (not the current response)
|
||||
//
|
||||
// - ObjectParts.PartNumberMarker
|
||||
// Pagination of parts will begin at (but not include) PartNumberMarker
|
||||
//
|
||||
// - ObjectParts.NextPartNumberMarket
|
||||
// The next PartNumberMarker to be used in order to continue pagination
|
||||
//
|
||||
// - ObjectParts.IsTruncated
|
||||
// Indicates if the last part is included in the request (does not check if parts are missing from the start of the list, ONLY the end)
|
||||
//
|
||||
// - ObjectParts.MaxParts
|
||||
// Reflects the MaxParts used by the caller or the default MaxParts value of the API
|
||||
type ObjectAttributesResponse struct {
|
||||
ETag string `xml:",omitempty"`
|
||||
StorageClass string
|
||||
ObjectSize int
|
||||
Checksum struct {
|
||||
ChecksumCRC32 string `xml:",omitempty"`
|
||||
ChecksumCRC32C string `xml:",omitempty"`
|
||||
ChecksumSHA1 string `xml:",omitempty"`
|
||||
ChecksumSHA256 string `xml:",omitempty"`
|
||||
}
|
||||
ObjectParts struct {
|
||||
PartsCount int
|
||||
PartNumberMarker int
|
||||
NextPartNumberMarker int
|
||||
MaxParts int
|
||||
IsTruncated bool
|
||||
Parts []*ObjectAttributePart `xml:"Part"`
|
||||
}
|
||||
}
|
||||
|
||||
// ObjectAttributePart is used by ObjectAttributesResponse to describe an object part
|
||||
type ObjectAttributePart struct {
|
||||
ChecksumCRC32 string `xml:",omitempty"`
|
||||
ChecksumCRC32C string `xml:",omitempty"`
|
||||
ChecksumSHA1 string `xml:",omitempty"`
|
||||
ChecksumSHA256 string `xml:",omitempty"`
|
||||
PartNumber int
|
||||
Size int
|
||||
}
|
||||
|
||||
func (o *ObjectAttributes) parseResponse(resp *http.Response) (err error) {
|
||||
mod, err := parseRFC7231Time(resp.Header.Get("Last-Modified"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
o.LastModified = mod
|
||||
o.VersionID = resp.Header.Get(amzVersionID)
|
||||
|
||||
response := new(ObjectAttributesResponse)
|
||||
if err := xml.NewDecoder(resp.Body).Decode(response); err != nil {
|
||||
return err
|
||||
}
|
||||
o.ObjectAttributesResponse = *response
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// GetObjectAttributes API combines HeadObject and ListParts.
|
||||
// More details on usage can be found in the documentation for ObjectAttributesOptions{}
|
||||
func (c *Client) GetObjectAttributes(ctx context.Context, bucketName, objectName string, opts ObjectAttributesOptions) (*ObjectAttributes, error) {
|
||||
if err := s3utils.CheckValidBucketName(bucketName); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := s3utils.CheckValidObjectName(objectName); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
urlValues := make(url.Values)
|
||||
urlValues.Add("attributes", "")
|
||||
if opts.VersionID != "" {
|
||||
urlValues.Add("versionId", opts.VersionID)
|
||||
}
|
||||
|
||||
headers := make(http.Header)
|
||||
headers.Set(amzObjectAttributes, GetObjectAttributesTags)
|
||||
|
||||
if opts.PartNumberMarker > 0 {
|
||||
headers.Set(amzPartNumberMarker, strconv.Itoa(opts.PartNumberMarker))
|
||||
}
|
||||
|
||||
if opts.MaxParts > 0 {
|
||||
headers.Set(amzMaxParts, strconv.Itoa(opts.MaxParts))
|
||||
} else {
|
||||
headers.Set(amzMaxParts, strconv.Itoa(GetObjectAttributesMaxParts))
|
||||
}
|
||||
|
||||
if opts.ServerSideEncryption != nil {
|
||||
opts.ServerSideEncryption.Marshal(headers)
|
||||
}
|
||||
|
||||
resp, err := c.executeMethod(ctx, http.MethodGet, requestMetadata{
|
||||
bucketName: bucketName,
|
||||
objectName: objectName,
|
||||
queryValues: urlValues,
|
||||
contentSHA256Hex: emptySHA256Hex,
|
||||
customHeader: headers,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
defer closeResponse(resp)
|
||||
|
||||
hasEtag := resp.Header.Get(ETag)
|
||||
if hasEtag != "" {
|
||||
return nil, errors.New("getObjectAttributes is not supported by the current endpoint version")
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
ER := new(ErrorResponse)
|
||||
if err := xml.NewDecoder(resp.Body).Decode(ER); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil, *ER
|
||||
}
|
||||
|
||||
OA := new(ObjectAttributes)
|
||||
err = OA.parseResponse(resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return OA, nil
|
||||
}
|
2
vendor/github.com/minio/minio-go/v7/api-remove.go
generated
vendored
2
vendor/github.com/minio/minio-go/v7/api-remove.go
generated
vendored
|
@ -435,7 +435,7 @@ func (c *Client) removeObjects(ctx context.Context, bucketName string, objectsCh
|
|||
|
||||
// Generate remove multi objects XML request
|
||||
removeBytes := generateRemoveMultiObjectsRequest(batch)
|
||||
// Execute GET on bucket to list objects.
|
||||
// Execute POST on bucket to remove objects.
|
||||
resp, err := c.executeMethod(ctx, http.MethodPost, requestMetadata{
|
||||
bucketName: bucketName,
|
||||
queryValues: urlValues,
|
||||
|
|
4
vendor/github.com/minio/minio-go/v7/api.go
generated
vendored
4
vendor/github.com/minio/minio-go/v7/api.go
generated
vendored
|
@ -127,7 +127,7 @@ type Options struct {
|
|||
// Global constants.
|
||||
const (
|
||||
libraryName = "minio-go"
|
||||
libraryVersion = "v7.0.66"
|
||||
libraryVersion = "v7.0.67"
|
||||
)
|
||||
|
||||
// User Agent should always following the below style.
|
||||
|
@ -234,7 +234,7 @@ func privateNew(endpoint string, opts *Options) (*Client, error) {
|
|||
clnt.httpClient = &http.Client{
|
||||
Jar: jar,
|
||||
Transport: transport,
|
||||
CheckRedirect: func(req *http.Request, via []*http.Request) error {
|
||||
CheckRedirect: func(_ *http.Request, _ []*http.Request) error {
|
||||
return http.ErrUseLastResponse
|
||||
},
|
||||
}
|
||||
|
|
20
vendor/github.com/minio/minio-go/v7/constants.go
generated
vendored
20
vendor/github.com/minio/minio-go/v7/constants.go
generated
vendored
|
@ -60,12 +60,32 @@
|
|||
)
|
||||
|
||||
const (
|
||||
// GetObjectAttributesTags are tags used to defined
|
||||
// return values for the GetObjectAttributes API
|
||||
GetObjectAttributesTags = "ETag,Checksum,StorageClass,ObjectSize,ObjectParts"
|
||||
// GetObjectAttributesMaxParts defined the default maximum
|
||||
// number of parts returned by GetObjectAttributes
|
||||
GetObjectAttributesMaxParts = 1000
|
||||
)
|
||||
|
||||
const (
|
||||
// Response Headers
|
||||
|
||||
// ETag is a common response header
|
||||
ETag = "ETag"
|
||||
|
||||
// Storage class header.
|
||||
amzStorageClass = "X-Amz-Storage-Class"
|
||||
|
||||
// Website redirect location header
|
||||
amzWebsiteRedirectLocation = "X-Amz-Website-Redirect-Location"
|
||||
|
||||
// GetObjectAttributes headers
|
||||
amzPartNumberMarker = "X-Amz-Part-Number-Marker"
|
||||
amzExpectedBucketOnwer = "X-Amz-Expected-Bucket-Owner"
|
||||
amzMaxParts = "X-Amz-Max-Parts"
|
||||
amzObjectAttributes = "X-Amz-Object-Attributes"
|
||||
|
||||
// Object Tagging headers
|
||||
amzTaggingHeader = "X-Amz-Tagging"
|
||||
amzTaggingHeaderDirective = "X-Amz-Tagging-Directive"
|
||||
|
|
831
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
831
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
File diff suppressed because it is too large
Load diff
2
vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go
generated
vendored
2
vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go
generated
vendored
|
@ -402,7 +402,7 @@ func (e Expiration) IsDeleteMarkerExpirationEnabled() bool {
|
|||
|
||||
// IsNull returns true if both date and days fields are null
|
||||
func (e Expiration) IsNull() bool {
|
||||
return e.IsDaysNull() && e.IsDateNull() && !e.IsDeleteMarkerExpirationEnabled()
|
||||
return e.IsDaysNull() && e.IsDateNull() && !e.IsDeleteMarkerExpirationEnabled() && !e.DeleteAll.IsEnabled()
|
||||
}
|
||||
|
||||
// MarshalXML is expiration is non null
|
||||
|
|
11
vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go
generated
vendored
11
vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go
generated
vendored
|
@ -149,22 +149,19 @@ func (set StringSet) MarshalJSON() ([]byte, error) {
|
|||
}
|
||||
|
||||
// UnmarshalJSON - parses JSON data and creates new set with it.
|
||||
// If 'data' contains JSON string array, the set contains each string.
|
||||
// If 'data' contains JSON string, the set contains the string as one element.
|
||||
// If 'data' contains Other JSON types, JSON parse error is returned.
|
||||
func (set *StringSet) UnmarshalJSON(data []byte) error {
|
||||
sl := []string{}
|
||||
sl := []interface{}{}
|
||||
var err error
|
||||
if err = json.Unmarshal(data, &sl); err == nil {
|
||||
*set = make(StringSet)
|
||||
for _, s := range sl {
|
||||
set.Add(s)
|
||||
set.Add(fmt.Sprintf("%v", s))
|
||||
}
|
||||
} else {
|
||||
var s string
|
||||
var s interface{}
|
||||
if err = json.Unmarshal(data, &s); err == nil {
|
||||
*set = make(StringSet)
|
||||
set.Add(s)
|
||||
set.Add(fmt.Sprintf("%v", s))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
11
vendor/github.com/minio/minio-go/v7/utils.go
generated
vendored
11
vendor/github.com/minio/minio-go/v7/utils.go
generated
vendored
|
@ -21,6 +21,7 @@
|
|||
"context"
|
||||
"crypto/md5"
|
||||
fipssha256 "crypto/sha256"
|
||||
"crypto/tls"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"encoding/xml"
|
||||
|
@ -513,6 +514,7 @@ func isAmzHeader(headerKey string) bool {
|
|||
|
||||
// supportedQueryValues is a list of query strings that can be passed in when using GetObject.
|
||||
var supportedQueryValues = map[string]bool{
|
||||
"attributes": true,
|
||||
"partNumber": true,
|
||||
"versionId": true,
|
||||
"response-cache-control": true,
|
||||
|
@ -622,7 +624,7 @@ func IsNetworkOrHostDown(err error, expectTimeouts bool) bool {
|
|||
urlErr := &url.Error{}
|
||||
if errors.As(err, &urlErr) {
|
||||
switch urlErr.Err.(type) {
|
||||
case *net.DNSError, *net.OpError, net.UnknownNetworkError:
|
||||
case *net.DNSError, *net.OpError, net.UnknownNetworkError, *tls.CertificateVerificationError:
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
@ -649,7 +651,12 @@ func IsNetworkOrHostDown(err error, expectTimeouts bool) bool {
|
|||
case strings.Contains(err.Error(), "connection refused"):
|
||||
// If err is connection refused
|
||||
return true
|
||||
|
||||
case strings.Contains(err.Error(), "server gave HTTP response to HTTPS client"):
|
||||
// If err is TLS client is used with HTTP server
|
||||
return true
|
||||
case strings.Contains(err.Error(), "Client sent an HTTP request to an HTTPS server"):
|
||||
// If err is plain-text Client is used with a HTTPS server
|
||||
return true
|
||||
case strings.Contains(strings.ToLower(err.Error()), "503 service unavailable"):
|
||||
// Denial errors
|
||||
return true
|
||||
|
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
|
@ -384,7 +384,7 @@ github.com/miekg/dns
|
|||
# github.com/minio/md5-simd v1.1.2
|
||||
## explicit; go 1.14
|
||||
github.com/minio/md5-simd
|
||||
# github.com/minio/minio-go/v7 v7.0.66
|
||||
# github.com/minio/minio-go/v7 v7.0.67
|
||||
## explicit; go 1.17
|
||||
github.com/minio/minio-go/v7
|
||||
github.com/minio/minio-go/v7/pkg/credentials
|
||||
|
|
Loading…
Reference in a new issue