summaryrefslogtreecommitdiff
path: root/vendor/github.com/minio/minio-go/v7/api.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/minio/minio-go/v7/api.go')
-rw-r--r--vendor/github.com/minio/minio-go/v7/api.go25
1 files changed, 16 insertions, 9 deletions
diff --git a/vendor/github.com/minio/minio-go/v7/api.go b/vendor/github.com/minio/minio-go/v7/api.go
index b64f57615..39cd5fd53 100644
--- a/vendor/github.com/minio/minio-go/v7/api.go
+++ b/vendor/github.com/minio/minio-go/v7/api.go
@@ -155,7 +155,7 @@ type Options struct {
// Global constants.
const (
libraryName = "minio-go"
- libraryVersion = "v7.0.89"
+ libraryVersion = "v7.0.91"
)
// User Agent should always following the below style.
@@ -660,13 +660,7 @@ func (c *Client) executeMethod(ctx context.Context, method string, metadata requ
metadata.trailer.Set(metadata.addCrc.Key(), base64.StdEncoding.EncodeToString(crc.Sum(nil)))
}
- // Create cancel context to control 'newRetryTimer' go routine.
- retryCtx, cancel := context.WithCancel(ctx)
-
- // Indicate to our routine to exit cleanly upon return.
- defer cancel()
-
- for range c.newRetryTimer(retryCtx, reqRetry, DefaultRetryUnit, DefaultRetryCap, MaxJitter) {
+ for range c.newRetryTimer(ctx, reqRetry, DefaultRetryUnit, DefaultRetryCap, MaxJitter) {
// Retry executes the following function body if request has an
// error until maxRetries have been exhausted, retry attempts are
// performed after waiting for a given period of time in a
@@ -779,7 +773,7 @@ func (c *Client) executeMethod(ctx context.Context, method string, metadata requ
}
// Return an error when retry is canceled or deadlined
- if e := retryCtx.Err(); e != nil {
+ if e := ctx.Err(); e != nil {
return nil, e
}
@@ -909,6 +903,11 @@ func (c *Client) newRequest(ctx context.Context, method string, metadata request
// For anonymous requests just return.
if signerType.IsAnonymous() {
+ if len(metadata.trailer) > 0 {
+ req.Header.Set("X-Amz-Content-Sha256", unsignedPayloadTrailer)
+ return signer.UnsignedTrailer(*req, metadata.trailer), nil
+ }
+
return req, nil
}
@@ -1066,3 +1065,11 @@ func (c *Client) CredContext() *credentials.CredContext {
Endpoint: c.endpointURL.String(),
}
}
+
+// GetCreds returns the access creds for the client
+func (c *Client) GetCreds() (credentials.Value, error) {
+ if c.credsProvider == nil {
+ return credentials.Value{}, errors.New("no credentials provider")
+ }
+ return c.credsProvider.GetWithContext(c.CredContext())
+}