26 lines
537 B
Go
26 lines
537 B
Go
|
package common
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
)
|
||
|
|
||
|
type dryrunContextKey string
|
||
|
|
||
|
const dryrunContextKeyVal = dryrunContextKey("dryrun")
|
||
|
|
||
|
// Dryrun returns true if the current context is dryrun
|
||
|
func Dryrun(ctx context.Context) bool {
|
||
|
val := ctx.Value(dryrunContextKeyVal)
|
||
|
if val != nil {
|
||
|
if dryrun, ok := val.(bool); ok {
|
||
|
return dryrun
|
||
|
}
|
||
|
}
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
// WithDryrun adds a value to the context for dryrun
|
||
|
func WithDryrun(ctx context.Context, dryrun bool) context.Context {
|
||
|
return context.WithValue(ctx, dryrunContextKeyVal, dryrun)
|
||
|
}
|