Documentation ¶
Index ¶
- func ChecksumFlagSet(flagSet *pflag.FlagSet, flagFilter func(flag *pflag.Flag) bool) []byte
- func IsFlagDynamic(f *flag.Flag) bool
- func MarkFlagDynamic(f *flag.Flag)
- func ValidateDynFloat64Range(fromInclusive float64, toInclusive float64) func(float64) error
- func ValidateDynInt64Range(fromInclusive int64, toInclusive int64) func(int64) error
- func ValidateDynStringMatchesRegex(matcher *regexp.Regexp) func(string) error
- func ValidateDynStringSetMinElements(count int) func(map[string]struct{}) error
- func ValidateDynStringSliceMinElements(count int) func([]string) error
- type DynDurationValue
- func (d *DynDurationValue) Get() time.Duration
- func (d *DynDurationValue) Set(input string) error
- func (d *DynDurationValue) String() string
- func (d *DynDurationValue) Type() string
- func (d *DynDurationValue) WithNotifier(notifier func(oldValue time.Duration, newValue time.Duration))
- func (d *DynDurationValue) WithValidator(validator func(time.Duration) error)
- type DynFloat64Value
- func (d *DynFloat64Value) Get() float64
- func (d *DynFloat64Value) Set(input string) error
- func (d *DynFloat64Value) String() string
- func (d *DynFloat64Value) Type() string
- func (d *DynFloat64Value) WithNotifier(notifier func(oldValue float64, newValue float64))
- func (d *DynFloat64Value) WithValidator(validator func(float64) error)
- type DynInt64Value
- func (d *DynInt64Value) Get() int64
- func (d *DynInt64Value) Set(input string) error
- func (d *DynInt64Value) String() string
- func (d *DynInt64Value) Type() string
- func (d *DynInt64Value) WithNotifier(notifier func(oldValue int64, newValue int64))
- func (d *DynInt64Value) WithValidator(validator func(int64) error)
- type DynJSONValue
- func (d *DynJSONValue) Get() interface{}
- func (d *DynJSONValue) PrettyString() string
- func (d *DynJSONValue) Set(input string) error
- func (d *DynJSONValue) String() string
- func (d *DynJSONValue) Type() string
- func (d *DynJSONValue) WithNotifier(notifier func(oldValue interface{}, newValue interface{}))
- func (d *DynJSONValue) WithValidator(validator func(interface{}) error)
- type DynStringSetValue
- func (d *DynStringSetValue) Contains(val string) bool
- func (d *DynStringSetValue) Get() map[string]struct{}
- func (d *DynStringSetValue) Set(val string) error
- func (d *DynStringSetValue) String() string
- func (d *DynStringSetValue) Type() string
- func (d *DynStringSetValue) WithNotifier(notifier func(oldValue map[string]struct{}, newValue map[string]struct{}))
- func (d *DynStringSetValue) WithValidator(validator func(map[string]struct{}) error)
- type DynStringSliceValue
- func (d *DynStringSliceValue) Get() []string
- func (d *DynStringSliceValue) Set(val string) error
- func (d *DynStringSliceValue) String() string
- func (d *DynStringSliceValue) Type() string
- func (d *DynStringSliceValue) WithNotifier(notifier func(oldValue []string, newValue []string))
- func (d *DynStringSliceValue) WithValidator(validator func([]string) error)
- type DynStringValue
- func (d *DynStringValue) Get() string
- func (d *DynStringValue) Set(val string) error
- func (d *DynStringValue) String() string
- func (d *DynStringValue) Type() string
- func (d *DynStringValue) WithNotifier(notifier func(oldValue string, newValue string))
- func (d *DynStringValue) WithValidator(validator func(string) error)
- type StatusEndpoint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChecksumFlagSet ¶
ChecksumFlagSet will generate a FNV of the *set* values in a FlagSet.
func IsFlagDynamic ¶
IsFlagDynamic returns whether the given Flag has been created in a Dynamic mode.
func MarkFlagDynamic ¶
MarkFlagDynamic marks the flag as Dynamic and changeable at runtime.
func ValidateDynFloat64Range ¶
ValidateDynFloat64Range returns a validator that checks if the float value is in range.
func ValidateDynInt64Range ¶
ValidateDynInt64Range returns a validator function that checks if the integer value is in range.
func ValidateDynStringMatchesRegex ¶
ValidateDynStringMatchesRegex returns a validator function that checks all flag's values against regex.
func ValidateDynStringSetMinElements ¶
ValidateDynStringSetMinElements validates that the given string slice has at least x elements.
func ValidateDynStringSliceMinElements ¶
ValidateDynStringSliceMinElements validates that the given string slice has at least x elements.
Types ¶
type DynDurationValue ¶
type DynDurationValue struct {
// contains filtered or unexported fields
}
DynDurationValue is a flag-related `time.Duration` value wrapper.
func DynDuration ¶
func DynDuration(flagSet *flag.FlagSet, name string, value time.Duration, usage string) *DynDurationValue
DynDuration creates a `Flag` that represents `time.Duration` which is safe to change dynamically at runtime.
func (*DynDurationValue) Get ¶
func (d *DynDurationValue) Get() time.Duration
Get retrieves the value in a thread-safe manner.
func (*DynDurationValue) Set ¶
func (d *DynDurationValue) Set(input string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynDurationValue) String ¶
func (d *DynDurationValue) String() string
String represents the canonical representation of the type.
func (*DynDurationValue) Type ¶
func (d *DynDurationValue) Type() string
Type is an indicator of what this flag represents.
func (*DynDurationValue) WithNotifier ¶
func (d *DynDurationValue) WithNotifier(notifier func(oldValue time.Duration, newValue time.Duration))
WithNotifier adds a function is called every time a new value is successfully set. Each notifier is executed in a new go-routine.
func (*DynDurationValue) WithValidator ¶
func (d *DynDurationValue) WithValidator(validator func(time.Duration) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynFloat64Value ¶
type DynFloat64Value struct {
// contains filtered or unexported fields
}
DynFloat64Value is a flag-related `float64` value wrapper.
func DynFloat64 ¶
DynFloat64 creates a `Flag` that represents `float64` which is safe to change dynamically at runtime.
func (*DynFloat64Value) Get ¶
func (d *DynFloat64Value) Get() float64
Get retrieves the value in a thread-safe manner.
func (*DynFloat64Value) Set ¶
func (d *DynFloat64Value) Set(input string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynFloat64Value) String ¶
func (d *DynFloat64Value) String() string
String returns the canonical string representation of the type.
func (*DynFloat64Value) Type ¶
func (d *DynFloat64Value) Type() string
Type is an indicator of what this flag represents.
func (*DynFloat64Value) WithNotifier ¶
func (d *DynFloat64Value) WithNotifier(notifier func(oldValue float64, newValue float64))
WithNotifier adds a function is called every time a new value is successfully set. Each notifier is executed in a new go-routine.
func (*DynFloat64Value) WithValidator ¶
func (d *DynFloat64Value) WithValidator(validator func(float64) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynInt64Value ¶
type DynInt64Value struct {
// contains filtered or unexported fields
}
DynInt64Value is a flag-related `int64` value wrapper.
func DynInt64 ¶
DynInt64 creates a `Flag` that represents `int64` which is safe to change dynamically at runtime.
func (*DynInt64Value) Get ¶
func (d *DynInt64Value) Get() int64
Get retrieves the value in a thread-safe manner.
func (*DynInt64Value) Set ¶
func (d *DynInt64Value) Set(input string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynInt64Value) String ¶
func (d *DynInt64Value) String() string
String returns the canonical string representation of the type.
func (*DynInt64Value) Type ¶
func (d *DynInt64Value) Type() string
Type is an indicator of what this flag represents.
func (*DynInt64Value) WithNotifier ¶
func (d *DynInt64Value) WithNotifier(notifier func(oldValue int64, newValue int64))
WithNotifier adds a function is called every time a new value is successfully set. Each notifier is executed in a new go-routine.
func (*DynInt64Value) WithValidator ¶
func (d *DynInt64Value) WithValidator(validator func(int64) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynJSONValue ¶
type DynJSONValue struct {
// contains filtered or unexported fields
}
DynJSONValue is a flag-related JSON struct value wrapper.
func DynJSON ¶
func DynJSON(flagSet *flag.FlagSet, name string, value interface{}, usage string) *DynJSONValue
DynJSON creates a `Flag` that is backed by an arbitrary JSON which is safe to change dynamically at runtime. The `value` must be a pointer to a struct that is JSON (un)marshallable. New values based on the default constructor of `value` type will be created on each update.
func (*DynJSONValue) Get ¶
func (d *DynJSONValue) Get() interface{}
Get retrieves the value in its original JSON struct type in a thread-safe manner.
func (*DynJSONValue) PrettyString ¶
func (d *DynJSONValue) PrettyString() string
PrettyString returns a nicely structured representation of the type. In this case it returns a pretty-printed JSON.
func (*DynJSONValue) Set ¶
func (d *DynJSONValue) Set(input string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynJSONValue) String ¶
func (d *DynJSONValue) String() string
String returns the canonical string representation of the type.
func (*DynJSONValue) Type ¶
func (d *DynJSONValue) Type() string
Type is an indicator of what this flag represents.
func (*DynJSONValue) WithNotifier ¶
func (d *DynJSONValue) WithNotifier(notifier func(oldValue interface{}, newValue interface{}))
WithNotifier adds a function is called every time a new value is successfully set. Each notifier is executed in a new go-routine.
func (*DynJSONValue) WithValidator ¶
func (d *DynJSONValue) WithValidator(validator func(interface{}) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynStringSetValue ¶
type DynStringSetValue struct {
// contains filtered or unexported fields
}
DynStringSetValue is a flag-related `map[string]struct{}` value wrapper.
func DynStringSet ¶
func DynStringSet(flagSet *flag.FlagSet, name string, value []string, usage string) *DynStringSetValue
DynStringSet creates a `Flag` that represents `map[string]struct{}` which is safe to change dynamically at runtime. Unlike `pflag.StringSlice`, consecutive sets don't append to the slice, but override it.
func (*DynStringSetValue) Contains ¶
func (d *DynStringSetValue) Contains(val string) bool
Contains returns whether the specified string is in the flag.
func (*DynStringSetValue) Get ¶
func (d *DynStringSetValue) Get() map[string]struct{}
Get retrieves the value in a thread-safe manner.
func (*DynStringSetValue) Set ¶
func (d *DynStringSetValue) Set(val string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynStringSetValue) String ¶
func (d *DynStringSetValue) String() string
String represents the canonical representation of the type.
func (*DynStringSetValue) Type ¶
func (d *DynStringSetValue) Type() string
Type is an indicator of what this flag represents.
func (*DynStringSetValue) WithNotifier ¶
func (d *DynStringSetValue) WithNotifier(notifier func(oldValue map[string]struct{}, newValue map[string]struct{}))
WithNotifier adds a function that is called every time a new value is successfully set. Each notifier is executed asynchronously in a new go-routine.
func (*DynStringSetValue) WithValidator ¶
func (d *DynStringSetValue) WithValidator(validator func(map[string]struct{}) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynStringSliceValue ¶
type DynStringSliceValue struct {
// contains filtered or unexported fields
}
DynStringSliceValue is a flag-related `time.Duration` value wrapper.
func DynStringSlice ¶
func DynStringSlice(flagSet *flag.FlagSet, name string, value []string, usage string) *DynStringSliceValue
DynStringSlice creates a `Flag` that represents `[]string` which is safe to change dynamically at runtime. Unlike `pflag.StringSlice`, consecutive sets don't append to the slice, but override it.
func (*DynStringSliceValue) Get ¶
func (d *DynStringSliceValue) Get() []string
Get retrieves the value in a thread-safe manner.
func (*DynStringSliceValue) Set ¶
func (d *DynStringSliceValue) Set(val string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynStringSliceValue) String ¶
func (d *DynStringSliceValue) String() string
String represents the canonical representation of the type.
func (*DynStringSliceValue) Type ¶
func (d *DynStringSliceValue) Type() string
Type is an indicator of what this flag represents.
func (*DynStringSliceValue) WithNotifier ¶
func (d *DynStringSliceValue) WithNotifier(notifier func(oldValue []string, newValue []string))
WithNotifier adds a function that is called every time a new value is successfully set. Each notifier is executed asynchronously in a new go-routine.
func (*DynStringSliceValue) WithValidator ¶
func (d *DynStringSliceValue) WithValidator(validator func([]string) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type DynStringValue ¶
type DynStringValue struct {
// contains filtered or unexported fields
}
DynStringValue is a flag-related `time.Duration` value wrapper.
func DynString ¶
DynString creates a `Flag` that represents `string` which is safe to change dynamically at runtime.
func (*DynStringValue) Get ¶
func (d *DynStringValue) Get() string
Get retrieves the value in a thread-safe manner.
func (*DynStringValue) Set ¶
func (d *DynStringValue) Set(val string) error
Set updates the value from a string representation in a thread-safe manner. This operation may return an error if the provided `input` doesn't parse, or the resulting value doesn't pass an optional validator. If a notifier is set on the value, it will be invoked in a separate go-routine.
func (*DynStringValue) String ¶
func (d *DynStringValue) String() string
String represents the canonical representation of the type.
func (*DynStringValue) Type ¶
func (d *DynStringValue) Type() string
Type is an indicator of what this flag represents.
func (*DynStringValue) WithNotifier ¶
func (d *DynStringValue) WithNotifier(notifier func(oldValue string, newValue string))
WithNotifier adds a function is called every time a new value is successfully set. Each notifier is executed in a new go-routine.
func (*DynStringValue) WithValidator ¶
func (d *DynStringValue) WithValidator(validator func(string) error)
WithValidator adds a function that checks values before they're set. Any error returned by the validator will lead to the value being rejected. Validators are executed on the same go-routine as the call to `Set`.
type StatusEndpoint ¶
type StatusEndpoint struct {
// contains filtered or unexported fields
}
StatusEndpoint is a collection of `http.HandlerFunc` that serve debug pages about a given `FlagSet.
func NewStatusEndpoint ¶
func NewStatusEndpoint(flagSet *flag.FlagSet) *StatusEndpoint
NewStatusEndpoint creates a new debug `http.HandlerFunc` collection for a given `FlagSet`
func (*StatusEndpoint) ListFlags ¶
func (e *StatusEndpoint) ListFlags(resp http.ResponseWriter, req *http.Request)
ListFlags provides an HTML and JSON `http.HandlerFunc` that lists all Flags of a `FlagSet`. Additional URL query parameters can be used such as `type=[dynamic,static]` or `only_changed=true`.