mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-10-31 22:40:01 +00:00
[chore]: Bump github.com/minio/minio-go/v7 from 7.0.74 to 7.0.75 (#3208)
This commit is contained in:
parent
6ff8376d96
commit
c28a18b680
9 changed files with 1324 additions and 20 deletions
2
go.mod
2
go.mod
|
@ -43,7 +43,7 @@ require (
|
||||||
github.com/jackc/pgx/v5 v5.6.0
|
github.com/jackc/pgx/v5 v5.6.0
|
||||||
github.com/microcosm-cc/bluemonday v1.0.27
|
github.com/microcosm-cc/bluemonday v1.0.27
|
||||||
github.com/miekg/dns v1.1.61
|
github.com/miekg/dns v1.1.61
|
||||||
github.com/minio/minio-go/v7 v7.0.74
|
github.com/minio/minio-go/v7 v7.0.75
|
||||||
github.com/mitchellh/mapstructure v1.5.0
|
github.com/mitchellh/mapstructure v1.5.0
|
||||||
github.com/ncruces/go-sqlite3 v0.18.0
|
github.com/ncruces/go-sqlite3 v0.18.0
|
||||||
github.com/oklog/ulid v1.3.1
|
github.com/oklog/ulid v1.3.1
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -421,8 +421,8 @@ github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs=
|
||||||
github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ=
|
github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ=
|
||||||
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.74 h1:fTo/XlPBTSpo3BAMshlwKL5RspXRv9us5UeHEGYCFe0=
|
github.com/minio/minio-go/v7 v7.0.75 h1:0uLrB6u6teY2Jt+cJUVi9cTvDRuBKWSRzSAcznRkwlE=
|
||||||
github.com/minio/minio-go/v7 v7.0.74/go.mod h1:qydcVzV8Hqtj1VtEocfxbmVFa2siu6HGa+LDEPogjD8=
|
github.com/minio/minio-go/v7 v7.0.75/go.mod h1:qydcVzV8Hqtj1VtEocfxbmVFa2siu6HGa+LDEPogjD8=
|
||||||
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
|
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
|
||||||
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
|
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
|
||||||
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
|
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
|
||||||
|
|
136
vendor/github.com/minio/minio-go/v7/api-bucket-cors.go
generated
vendored
Normal file
136
vendor/github.com/minio/minio-go/v7/api-bucket-cors.go
generated
vendored
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
/*
|
||||||
|
* MinIO Go Library for Amazon S3 Compatible Cloud Storage
|
||||||
|
* Copyright 2024 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 (
|
||||||
|
"bytes"
|
||||||
|
"context"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
|
||||||
|
"github.com/minio/minio-go/v7/pkg/cors"
|
||||||
|
"github.com/minio/minio-go/v7/pkg/s3utils"
|
||||||
|
)
|
||||||
|
|
||||||
|
// SetBucketCors sets the cors configuration for the bucket
|
||||||
|
func (c *Client) SetBucketCors(ctx context.Context, bucketName string, corsConfig *cors.Config) error {
|
||||||
|
if err := s3utils.CheckValidBucketName(bucketName); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if corsConfig == nil {
|
||||||
|
return c.removeBucketCors(ctx, bucketName)
|
||||||
|
}
|
||||||
|
|
||||||
|
return c.putBucketCors(ctx, bucketName, corsConfig)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Client) putBucketCors(ctx context.Context, bucketName string, corsConfig *cors.Config) error {
|
||||||
|
urlValues := make(url.Values)
|
||||||
|
urlValues.Set("cors", "")
|
||||||
|
|
||||||
|
corsStr, err := corsConfig.ToXML()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
reqMetadata := requestMetadata{
|
||||||
|
bucketName: bucketName,
|
||||||
|
queryValues: urlValues,
|
||||||
|
contentBody: bytes.NewReader(corsStr),
|
||||||
|
contentLength: int64(len(corsStr)),
|
||||||
|
contentMD5Base64: sumMD5Base64([]byte(corsStr)),
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := c.executeMethod(ctx, http.MethodPut, reqMetadata)
|
||||||
|
defer closeResponse(resp)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if resp != nil {
|
||||||
|
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusNoContent {
|
||||||
|
return httpRespToErrorResponse(resp, bucketName, "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Client) removeBucketCors(ctx context.Context, bucketName string) error {
|
||||||
|
urlValues := make(url.Values)
|
||||||
|
urlValues.Set("cors", "")
|
||||||
|
|
||||||
|
resp, err := c.executeMethod(ctx, http.MethodDelete, requestMetadata{
|
||||||
|
bucketName: bucketName,
|
||||||
|
queryValues: urlValues,
|
||||||
|
contentSHA256Hex: emptySHA256Hex,
|
||||||
|
})
|
||||||
|
defer closeResponse(resp)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusNoContent {
|
||||||
|
return httpRespToErrorResponse(resp, bucketName, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBucketCors returns the current cors
|
||||||
|
func (c *Client) GetBucketCors(ctx context.Context, bucketName string) (*cors.Config, error) {
|
||||||
|
if err := s3utils.CheckValidBucketName(bucketName); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
bucketCors, err := c.getBucketCors(ctx, bucketName)
|
||||||
|
if err != nil {
|
||||||
|
errResponse := ToErrorResponse(err)
|
||||||
|
if errResponse.Code == "NoSuchCORSConfiguration" {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return bucketCors, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Client) getBucketCors(ctx context.Context, bucketName string) (*cors.Config, error) {
|
||||||
|
urlValues := make(url.Values)
|
||||||
|
urlValues.Set("cors", "")
|
||||||
|
|
||||||
|
resp, err := c.executeMethod(ctx, http.MethodGet, requestMetadata{
|
||||||
|
bucketName: bucketName,
|
||||||
|
queryValues: urlValues,
|
||||||
|
contentSHA256Hex: emptySHA256Hex, // TODO: needed? copied over from other example, but not spec'd in API.
|
||||||
|
})
|
||||||
|
|
||||||
|
defer closeResponse(resp)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if resp != nil {
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, httpRespToErrorResponse(resp, bucketName, "")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
corsConfig, err := cors.ParseBucketCorsConfig(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return corsConfig, nil
|
||||||
|
}
|
2
vendor/github.com/minio/minio-go/v7/api.go
generated
vendored
2
vendor/github.com/minio/minio-go/v7/api.go
generated
vendored
|
@ -129,7 +129,7 @@ type Options struct {
|
||||||
// Global constants.
|
// Global constants.
|
||||||
const (
|
const (
|
||||||
libraryName = "minio-go"
|
libraryName = "minio-go"
|
||||||
libraryVersion = "v7.0.74"
|
libraryVersion = "v7.0.75"
|
||||||
)
|
)
|
||||||
|
|
||||||
// User Agent should always following the below style.
|
// User Agent should always following the below style.
|
||||||
|
|
3
vendor/github.com/minio/minio-go/v7/core.go
generated
vendored
3
vendor/github.com/minio/minio-go/v7/core.go
generated
vendored
|
@ -91,6 +91,7 @@ type PutObjectPartOptions struct {
|
||||||
Md5Base64, Sha256Hex string
|
Md5Base64, Sha256Hex string
|
||||||
SSE encrypt.ServerSide
|
SSE encrypt.ServerSide
|
||||||
CustomHeader, Trailer http.Header
|
CustomHeader, Trailer http.Header
|
||||||
|
DisableContentSha256 bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// PutObjectPart - Upload an object part.
|
// PutObjectPart - Upload an object part.
|
||||||
|
@ -107,7 +108,7 @@ func (c Core) PutObjectPart(ctx context.Context, bucket, object, uploadID string
|
||||||
sha256Hex: opts.Sha256Hex,
|
sha256Hex: opts.Sha256Hex,
|
||||||
size: size,
|
size: size,
|
||||||
sse: opts.SSE,
|
sse: opts.SSE,
|
||||||
streamSha256: true,
|
streamSha256: !opts.DisableContentSha256,
|
||||||
customHeader: opts.CustomHeader,
|
customHeader: opts.CustomHeader,
|
||||||
trailer: opts.Trailer,
|
trailer: opts.Trailer,
|
||||||
}
|
}
|
||||||
|
|
1102
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
1102
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
File diff suppressed because it is too large
Load diff
91
vendor/github.com/minio/minio-go/v7/pkg/cors/cors.go
generated
vendored
Normal file
91
vendor/github.com/minio/minio-go/v7/pkg/cors/cors.go
generated
vendored
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
/*
|
||||||
|
* MinIO Go Library for Amazon S3 Compatible Cloud Storage
|
||||||
|
* Copyright 2015-2024 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 cors
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/xml"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/dustin/go-humanize"
|
||||||
|
)
|
||||||
|
|
||||||
|
const defaultXMLNS = "http://s3.amazonaws.com/doc/2006-03-01/"
|
||||||
|
|
||||||
|
// Config is the container for a CORS configuration for a bucket.
|
||||||
|
type Config struct {
|
||||||
|
XMLNS string `xml:"xmlns,attr,omitempty"`
|
||||||
|
XMLName xml.Name `xml:"CORSConfiguration"`
|
||||||
|
CORSRules []Rule `xml:"CORSRule"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rule is a single rule in a CORS configuration.
|
||||||
|
type Rule struct {
|
||||||
|
AllowedHeader []string `xml:"AllowedHeader,omitempty"`
|
||||||
|
AllowedMethod []string `xml:"AllowedMethod,omitempty"`
|
||||||
|
AllowedOrigin []string `xml:"AllowedOrigin,omitempty"`
|
||||||
|
ExposeHeader []string `xml:"ExposeHeader,omitempty"`
|
||||||
|
ID string `xml:"ID,omitempty"`
|
||||||
|
MaxAgeSeconds int `xml:"MaxAgeSeconds,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewConfig creates a new CORS configuration with the given rules.
|
||||||
|
func NewConfig(rules []Rule) *Config {
|
||||||
|
return &Config{
|
||||||
|
XMLNS: defaultXMLNS,
|
||||||
|
XMLName: xml.Name{
|
||||||
|
Local: "CORSConfiguration",
|
||||||
|
Space: defaultXMLNS,
|
||||||
|
},
|
||||||
|
CORSRules: rules,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ParseBucketCorsConfig parses a CORS configuration in XML from an io.Reader.
|
||||||
|
func ParseBucketCorsConfig(reader io.Reader) (*Config, error) {
|
||||||
|
var c Config
|
||||||
|
|
||||||
|
// Max size of cors document is 64KiB according to https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
|
||||||
|
// This limiter is just for safety so has a max of 128KiB
|
||||||
|
err := xml.NewDecoder(io.LimitReader(reader, 128*humanize.KiByte)).Decode(&c)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("decoding xml: %w", err)
|
||||||
|
}
|
||||||
|
if c.XMLNS == "" {
|
||||||
|
c.XMLNS = defaultXMLNS
|
||||||
|
}
|
||||||
|
for i, rule := range c.CORSRules {
|
||||||
|
for j, method := range rule.AllowedMethod {
|
||||||
|
c.CORSRules[i].AllowedMethod[j] = strings.ToUpper(method)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return &c, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ToXML marshals the CORS configuration to XML.
|
||||||
|
func (c Config) ToXML() ([]byte, error) {
|
||||||
|
if c.XMLNS == "" {
|
||||||
|
c.XMLNS = defaultXMLNS
|
||||||
|
}
|
||||||
|
data, err := xml.Marshal(&c)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("marshaling xml: %w", err)
|
||||||
|
}
|
||||||
|
return append([]byte(xml.Header), data...), nil
|
||||||
|
}
|
1
vendor/github.com/minio/minio-go/v7/s3-error.go
generated
vendored
1
vendor/github.com/minio/minio-go/v7/s3-error.go
generated
vendored
|
@ -57,5 +57,6 @@
|
||||||
"BucketAlreadyOwnedByYou": "Your previous request to create the named bucket succeeded and you already own it.",
|
"BucketAlreadyOwnedByYou": "Your previous request to create the named bucket succeeded and you already own it.",
|
||||||
"InvalidDuration": "Duration provided in the request is invalid.",
|
"InvalidDuration": "Duration provided in the request is invalid.",
|
||||||
"XAmzContentSHA256Mismatch": "The provided 'x-amz-content-sha256' header does not match what was computed.",
|
"XAmzContentSHA256Mismatch": "The provided 'x-amz-content-sha256' header does not match what was computed.",
|
||||||
|
"NoSuchCORSConfiguration": "The specified bucket does not have a CORS configuration.",
|
||||||
// Add new API errors here.
|
// Add new API errors here.
|
||||||
}
|
}
|
||||||
|
|
3
vendor/modules.txt
vendored
3
vendor/modules.txt
vendored
|
@ -495,9 +495,10 @@ 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.74
|
# github.com/minio/minio-go/v7 v7.0.75
|
||||||
## explicit; go 1.21
|
## explicit; go 1.21
|
||||||
github.com/minio/minio-go/v7
|
github.com/minio/minio-go/v7
|
||||||
|
github.com/minio/minio-go/v7/pkg/cors
|
||||||
github.com/minio/minio-go/v7/pkg/credentials
|
github.com/minio/minio-go/v7/pkg/credentials
|
||||||
github.com/minio/minio-go/v7/pkg/encrypt
|
github.com/minio/minio-go/v7/pkg/encrypt
|
||||||
github.com/minio/minio-go/v7/pkg/lifecycle
|
github.com/minio/minio-go/v7/pkg/lifecycle
|
||||||
|
|
Loading…
Reference in a new issue