32 lines
680 B
Go
32 lines
680 B
Go
package base
|
|
|
|
// getOpts - iterate the inbound Options and return a struct.
|
|
func getOpts(opt ...Option) Options {
|
|
opts := getDefaultOptions()
|
|
for _, o := range opt {
|
|
o(&opts)
|
|
}
|
|
return opts
|
|
}
|
|
|
|
// Option - how Options are passed as arguments.
|
|
type Option func(*Options)
|
|
|
|
// Options - how Options are represented.
|
|
type Options struct {
|
|
withNoTokenScope bool
|
|
}
|
|
|
|
func getDefaultOptions() Options {
|
|
return Options{}
|
|
}
|
|
|
|
// WithNoTokenScope tells the client not to set a scope for the client from a
|
|
// saved token's scope, as this can cause confusing behavior at authentication
|
|
// time.
|
|
func WithNoTokenScope() Option {
|
|
return func(o *Options) {
|
|
o.withNoTokenScope = true
|
|
}
|
|
}
|