2020-03-09 07:27:19 -07:00
|
|
|
// Copyright 2020 Google LLC.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
// Package internaloption contains options used internally by Google client code.
|
|
|
|
package internaloption
|
|
|
|
|
|
|
|
import (
|
|
|
|
"google.golang.org/api/internal"
|
|
|
|
"google.golang.org/api/option"
|
|
|
|
)
|
|
|
|
|
|
|
|
type defaultEndpointOption string
|
|
|
|
|
|
|
|
func (o defaultEndpointOption) Apply(settings *internal.DialSettings) {
|
|
|
|
settings.DefaultEndpoint = string(o)
|
|
|
|
}
|
|
|
|
|
|
|
|
// WithDefaultEndpoint is an option that indicates the default endpoint.
|
|
|
|
//
|
|
|
|
// It should only be used internally by generated clients.
|
|
|
|
//
|
2020-10-08 00:26:01 -07:00
|
|
|
// This is similar to WithEndpoint, but allows us to determine whether the user has overridden the default endpoint.
|
2020-03-09 07:27:19 -07:00
|
|
|
func WithDefaultEndpoint(url string) option.ClientOption {
|
|
|
|
return defaultEndpointOption(url)
|
|
|
|
}
|
2020-07-10 15:41:20 -07:00
|
|
|
|
|
|
|
type defaultMTLSEndpointOption string
|
|
|
|
|
|
|
|
func (o defaultMTLSEndpointOption) Apply(settings *internal.DialSettings) {
|
|
|
|
settings.DefaultMTLSEndpoint = string(o)
|
|
|
|
}
|
|
|
|
|
|
|
|
// WithDefaultMTLSEndpoint is an option that indicates the default mTLS endpoint.
|
|
|
|
//
|
|
|
|
// It should only be used internally by generated clients.
|
|
|
|
func WithDefaultMTLSEndpoint(url string) option.ClientOption {
|
|
|
|
return defaultMTLSEndpointOption(url)
|
|
|
|
}
|
2020-10-08 00:26:01 -07:00
|
|
|
|
|
|
|
// SkipDialSettingsValidation bypasses validation on ClientOptions.
|
|
|
|
//
|
|
|
|
// It should only be used internally.
|
|
|
|
func SkipDialSettingsValidation() option.ClientOption {
|
|
|
|
return skipDialSettingsValidation{}
|
|
|
|
}
|
|
|
|
|
|
|
|
type skipDialSettingsValidation struct{}
|
|
|
|
|
|
|
|
func (s skipDialSettingsValidation) Apply(settings *internal.DialSettings) {
|
|
|
|
settings.SkipValidation = true
|
|
|
|
}
|
2020-11-19 06:02:19 -08:00
|
|
|
|
|
|
|
// EnableDirectPath returns a ClientOption that overrides the default
|
|
|
|
// attempt to use DirectPath.
|
|
|
|
//
|
|
|
|
// It should only be used internally by generated clients.
|
|
|
|
// This is an EXPERIMENTAL API and may be changed or removed in the future.
|
|
|
|
func EnableDirectPath(dp bool) option.ClientOption {
|
|
|
|
return enableDirectPath(dp)
|
|
|
|
}
|
|
|
|
|
|
|
|
type enableDirectPath bool
|
|
|
|
|
|
|
|
func (e enableDirectPath) Apply(o *internal.DialSettings) {
|
|
|
|
o.EnableDirectPath = bool(e)
|
|
|
|
}
|