transport

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2023 License: BSD-3-Clause Imports: 8 Imported by: 0

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 github.com/momo200e/google-api-go/option.

This package is not intended for use by end developers. Use the github.com/momo200e/google-api-go/option package to configure API clients.

Example (ApplicationDefaultCredentials)
package main

import (
	"context"
	"log"

	"github.com/momo200e/google-api-go/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.NewGRPCClient 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"

	"github.com/momo200e/google-api-go/option"
	"github.com/momo200e/google-api-go/transport"
)

func main() {
	ctx := context.Background()

	// Download service account creds per https://cloud.google.com/docs/authentication/end-user.
	//
	// Note: Given the same set of options, transport.NewHTTPClient and
	// transport.NewGRPCClient 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

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

func NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error)

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 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL