internal

package
Version: v0.48.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2021 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Overview

Package internal supports the options and transport packages.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Creds

func Creds(ctx context.Context, ds *DialSettings) (*google.Credentials, error)

Creds returns credential information obtained from DialSettings, or if none, then it returns default credential information.

func QuotaProjectFromCreds

func QuotaProjectFromCreds(cred *google.Credentials) string

QuotaProjectFromCreds returns the quota project from the JSON blob in the provided credentials.

NOTE(cbro): consider promoting this to a field on google.Credentials.

Types

type ConnPool

type ConnPool interface {
	// Conn returns a ClientConn from the pool.
	//
	// Conns aren't returned to the pool.
	Conn() *grpc.ClientConn

	// Num returns the number of connections in the pool.
	//
	// It will always return the same value.
	Num() int

	// Close closes every ClientConn in the pool.
	//
	// The error returned by Close may be a single error or multiple errors.
	Close() error

	// ConnPool implements grpc.ClientConnInterface to enable it to be used directly with generated proto stubs.
	grpc.ClientConnInterface
}

ConnPool is a pool of grpc.ClientConns.

type DialSettings

type DialSettings struct {
	Endpoint            string
	DefaultEndpoint     string
	DefaultMTLSEndpoint string
	Scopes              []string
	DefaultScopes       []string
	TokenSource         oauth2.TokenSource
	Credentials         *google.Credentials
	CredentialsFile     string // if set, Token Source is ignored.
	CredentialsJSON     []byte
	UserAgent           string
	APIKey              string
	Audiences           []string
	DefaultAudience     string
	HTTPClient          *http.Client
	GRPCDialOpts        []grpc.DialOption
	GRPCConn            *grpc.ClientConn
	GRPCConnPool        ConnPool
	GRPCConnPoolSize    int
	NoAuth              bool
	TelemetryDisabled   bool
	ClientCertSource    func(*tls.CertificateRequestInfo) (*tls.Certificate, error)
	CustomClaims        map[string]interface{}
	SkipValidation      bool
	ImpersonationConfig *impersonate.Config
	EnableDirectPath    bool

	// Google API system parameters. For more information please read:
	// https://cloud.google.com/apis/docs/system-parameters
	QuotaProject  string
	RequestReason string
}

DialSettings holds information needed to establish a connection with a Google API service.

func (*DialSettings) GetScopes

func (ds *DialSettings) GetScopes() []string

GetScopes returns the user-provided scopes, if set, or else falls back to the default scopes.

func (*DialSettings) Validate

func (ds *DialSettings) Validate() error

Validate reports an error if ds is invalid.

Directories

Path Synopsis
examples
fake
Package fake demonstrates how to use concrete services and fake the interactions with them in tests.
Package fake demonstrates how to use concrete services and fake the interactions with them in tests.
mock
Package mock demonstrates how to use interfaces to mock interactions with service in tests.
Package mock demonstrates how to use interfaces to mock interactions with service in tests.
Package gensupport is an internal implementation detail used by code generated by the google-api-go-generator tool.
Package gensupport is an internal implementation detail used by code generated by the google-api-go-generator tool.
Package impersonate is used to impersonate Google Credentials.
Package impersonate is used to impersonate Google Credentials.
third_party
uritemplates
Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
Package uritemplates is a level 3 implementation of RFC 6570 (URI Template, http://tools.ietf.org/html/rfc6570).
Package version contains version information for Google Cloud Client Libraries for Go, as reported in request headers.
Package version contains version information for Google Cloud Client Libraries for Go, as reported in request headers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto