package transport

import "cloud.google.com/go/auth/internal/transport"

Package transport provided internal helpers for the two transport packages (grpctransport and httptransport).

Index

Functions

func CloneDetectOptions

func CloneDetectOptions(oldDo *credentials.DetectOptions) *credentials.DetectOptions

CloneDetectOptions clones a user set detect option into some new memory that we can internally manipulate before sending onto the detect package.

func GetGRPCTransportCredsAndEndpoint

func GetGRPCTransportCredsAndEndpoint(opts *Options) (credentials.TransportCredentials, string, error)

GetGRPCTransportCredsAndEndpoint returns an instance of google.golang.org/grpc/credentials.TransportCredentials, and the corresponding endpoint to use for GRPC client.

func GetHTTPTransportConfig

func GetHTTPTransportConfig(opts *Options) (cert.Provider, func(context.Context, string, string) (net.Conn, error), error)

GetHTTPTransportConfig returns a client certificate source and a function for dialing MTLS with S2A.

func GetS2AAddress

func GetS2AAddress() string

GetS2AAddress returns the S2A address to be reached via plaintext connection. Returns empty string if not set or invalid.

func ValidateUniverseDomain

func ValidateUniverseDomain(clientUniverseDomain, credentialsUniverseDomain string) error

ValidateUniverseDomain verifies that the universe domain configured for the client matches the universe domain configured for the credentials.

Types

type Options

type Options struct {
	Endpoint                string
	DefaultMTLSEndpoint     string
	DefaultEndpointTemplate string
	ClientCertProvider      cert.Provider
	Client                  *http.Client
	UniverseDomain          string
}

Options is a struct that is duplicated information from the individual transport packages in order to avoid cyclic deps. It correlates 1:1 with fields on httptransport.Options and grpctransport.Options.

Source Files

cba.go s2a.go transport.go

Directories

PathSynopsis
internal/transport/cert
internal/transport/cert/cmdtest_signer.go is a net/rpc server that listens on stdin/stdout, exposing mock methods for testing enterprise certificate proxy flow.
Version
v0.2.0
Published
Apr 15, 2024
Platform
darwin/amd64
Imports
21 packages
Last checked
44 minutes ago

Tools for package owners.