summaryrefslogtreecommitdiffstats
path: root/pkg/common/dryrun.go
blob: 2d5a14e564b8f9c6f2aa25b29a690616a6b3be30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)
}