123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package presignedurl
- import (
- "context"
- "github.com/aws/smithy-go/middleware"
- )
- // WithIsPresigning adds the isPresigning sentinel value to a context to signal
- // that the middleware stack is using the presign flow.
- //
- // Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
- // to clear all stack values.
- func WithIsPresigning(ctx context.Context) context.Context {
- return middleware.WithStackValue(ctx, isPresigningKey{}, true)
- }
- // GetIsPresigning returns if the context contains the isPresigning sentinel
- // value for presigning flows.
- //
- // Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
- // to clear all stack values.
- func GetIsPresigning(ctx context.Context) bool {
- v, _ := middleware.GetStackValue(ctx, isPresigningKey{}).(bool)
- return v
- }
- type isPresigningKey struct{}
- // AddAsIsPresigingMiddleware adds a middleware to the head of the stack that
- // will update the stack's context to be flagged as being invoked for the
- // purpose of presigning.
- func AddAsIsPresigingMiddleware(stack *middleware.Stack) error {
- return stack.Initialize.Add(asIsPresigningMiddleware{}, middleware.Before)
- }
- type asIsPresigningMiddleware struct{}
- func (asIsPresigningMiddleware) ID() string { return "AsIsPresigningMiddleware" }
- func (asIsPresigningMiddleware) HandleInitialize(
- ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler,
- ) (
- out middleware.InitializeOutput, metadata middleware.Metadata, err error,
- ) {
- ctx = WithIsPresigning(ctx)
- return next.HandleInitialize(ctx, in)
- }
|