Documentation ¶
Overview ¶
Package transport provides utility methods for creating authenticated transports to Google's HTTP and gRPC APIs. It is intended to be used in conjunction with google.golang.org/api/option.
This package is not intended for use by end developers. Use the google.golang.org/api/option package to configure API clients.
Example (ApplicationDefaultCredentials) ¶
package main import ( "context" "log" "google.golang.org/api/transport" ) func main() { ctx := context.Background() // Providing no auth option will cause NewClient to look for Application // Default Creds as specified at https://godoc.org/golang.org/x/oauth2/google#FindDefaultCredentials. // // Note: Given the same set of options, transport.NewHTTPClient and // transport.DialGRPC use the same credentials. c, _, err := transport.NewHTTPClient(ctx) if err != nil { log.Fatal(err) } _ = c // Use authenticated client. }
Output:
Example (WithCredentialsFile) ¶
package main import ( "context" "log" "google.golang.org/api/option" "google.golang.org/api/transport" ) func main() { ctx := context.Background() // Download service account creds per https://cloud.google.com/docs/authentication/production. // // Note: Given the same set of options, transport.NewHTTPClient and // transport.DialGRPC use the same credentials. c, _, err := transport.NewHTTPClient(ctx, option.WithCredentialsFile("/path/to/service-account-creds.json")) if err != nil { log.Fatal(err) } _ = c // Use authenticated client. }
Output:
Index ¶
- func Creds(ctx context.Context, opts ...option.ClientOption) (*google.Credentials, error)
- func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error)
- func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error)
- func NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Creds ¶
func Creds(ctx context.Context, opts ...option.ClientOption) (*google.Credentials, error)
Creds constructs a google.Credentials from the information in the options, or obtains the default credentials in the same way as google.FindDefaultCredentials.
func DialGRPC ¶
func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error)
DialGRPC returns a GRPC connection for use communicating with a Google cloud service, configured with the given ClientOptions.
func DialGRPCInsecure ¶
func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error)
DialGRPCInsecure returns an insecure GRPC connection for use communicating with fake or mock Google cloud service implementations, such as emulators. The connection is configured with the given ClientOptions.
func NewHTTPClient ¶
NewHTTPClient returns an HTTP client for use communicating with a Google cloud service, configured with the given ClientOptions. It also returns the endpoint for the service as specified in the options.
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
Package bytestream provides a client for any service that exposes a ByteStream API.
|
Package bytestream provides a client for any service that exposes a ByteStream API. |
Package cert contains certificate tools for Google API clients.
|
Package cert contains certificate tools for Google API clients. |
Package grpc supports network connections to GRPC servers.
|
Package grpc supports network connections to GRPC servers. |
Package http supports network connections to HTTP servers.
|
Package http supports network connections to HTTP servers. |
internal/propagation
Package propagation implements X-Cloud-Trace-Context header propagation used by Google Cloud products.
|
Package propagation implements X-Cloud-Trace-Context header propagation used by Google Cloud products. |
internal
|
|
dca
Package dca contains utils for implementing Device Certificate Authentication according to https://google.aip.dev/auth/4114 The overall logic for DCA is as follows: 1.
|
Package dca contains utils for implementing Device Certificate Authentication according to https://google.aip.dev/auth/4114 The overall logic for DCA is as follows: 1. |