mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
rebase: bump github.com/aws/aws-sdk-go-v2/service/sts
Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.16.13 to 1.16.17. - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.13...service/ram/v1.16.17) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/sts dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
committed by
mergify[bot]
parent
9ddb4a784a
commit
e5c5646963
81
vendor/github.com/aws/smithy-go/context/suppress_expired.go
generated
vendored
Normal file
81
vendor/github.com/aws/smithy-go/context/suppress_expired.go
generated
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
package context
|
||||
|
||||
import "context"
|
||||
|
||||
// valueOnlyContext provides a utility to preserve only the values of a
|
||||
// Context. Suppressing any cancellation or deadline on that context being
|
||||
// propagated downstream of this value.
|
||||
//
|
||||
// If preserveExpiredValues is false (default), and the valueCtx is canceled,
|
||||
// calls to lookup values with the Values method, will always return nil. Setting
|
||||
// preserveExpiredValues to true, will allow the valueOnlyContext to lookup
|
||||
// values in valueCtx even if valueCtx is canceled.
|
||||
//
|
||||
// Based on the Go standard libraries net/lookup.go onlyValuesCtx utility.
|
||||
// https://github.com/golang/go/blob/da2773fe3e2f6106634673a38dc3a6eb875fe7d8/src/net/lookup.go
|
||||
type valueOnlyContext struct {
|
||||
context.Context
|
||||
|
||||
preserveExpiredValues bool
|
||||
valuesCtx context.Context
|
||||
}
|
||||
|
||||
var _ context.Context = (*valueOnlyContext)(nil)
|
||||
|
||||
// Value looks up the key, returning its value. If configured to not preserve
|
||||
// values of expired context, and the wrapping context is canceled, nil will be
|
||||
// returned.
|
||||
func (v *valueOnlyContext) Value(key interface{}) interface{} {
|
||||
if !v.preserveExpiredValues {
|
||||
select {
|
||||
case <-v.valuesCtx.Done():
|
||||
return nil
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
return v.valuesCtx.Value(key)
|
||||
}
|
||||
|
||||
// WithSuppressCancel wraps the Context value, suppressing its deadline and
|
||||
// cancellation events being propagated downstream to consumer of the returned
|
||||
// context.
|
||||
//
|
||||
// By default the wrapped Context's Values are available downstream until the
|
||||
// wrapped Context is canceled. Once the wrapped Context is canceled, Values
|
||||
// method called on the context return will no longer lookup any key. As they
|
||||
// are now considered expired.
|
||||
//
|
||||
// To override this behavior, use WithPreserveExpiredValues on the Context
|
||||
// before it is wrapped by WithSuppressCancel. This will make the Context
|
||||
// returned by WithSuppressCancel allow lookup of expired values.
|
||||
func WithSuppressCancel(ctx context.Context) context.Context {
|
||||
return &valueOnlyContext{
|
||||
Context: context.Background(),
|
||||
valuesCtx: ctx,
|
||||
|
||||
preserveExpiredValues: GetPreserveExpiredValues(ctx),
|
||||
}
|
||||
}
|
||||
|
||||
type preserveExpiredValuesKey struct{}
|
||||
|
||||
// WithPreserveExpiredValues adds a Value to the Context if expired values
|
||||
// should be preserved, and looked up by a Context wrapped by
|
||||
// WithSuppressCancel.
|
||||
//
|
||||
// WithPreserveExpiredValues must be added as a value to a Context, before that
|
||||
// Context is wrapped by WithSuppressCancel
|
||||
func WithPreserveExpiredValues(ctx context.Context, enable bool) context.Context {
|
||||
return context.WithValue(ctx, preserveExpiredValuesKey{}, enable)
|
||||
}
|
||||
|
||||
// GetPreserveExpiredValues looks up, and returns the PreserveExpressValues
|
||||
// value in the context. Returning true if enabled, false otherwise.
|
||||
func GetPreserveExpiredValues(ctx context.Context) bool {
|
||||
v := ctx.Value(preserveExpiredValuesKey{})
|
||||
if v != nil {
|
||||
return v.(bool)
|
||||
}
|
||||
return false
|
||||
}
|
Reference in New Issue
Block a user