Documentation ¶
Overview ¶
Package bufconnect provides buf-specific Connect functionality.
Index ¶
Constants ¶
const ( // AuthenticationHeader is the standard OAuth header used for authenticating // a user. Ignore the misnomer. AuthenticationHeader = "Authorization" // AuthenticationTokenPrefix is the standard OAuth token prefix. // We use it for familiarity. AuthenticationTokenPrefix = "Bearer " // CliVersionHeaderName is the name of the header carrying the buf CLI version. CliVersionHeaderName = "buf-version" // DefaultRemote is the default remote if none can be inferred from a module name. DefaultRemote = "buf.build" )
Variables ¶
This section is empty.
Functions ¶
func NewAuthorizationInterceptorProvider ¶
func NewAuthorizationInterceptorProvider(tokenProviders ...TokenProvider) func(string) connect.UnaryInterceptorFunc
NewAuthorizationInterceptorProvider returns a new provider function which, when invoked, returns an interceptor which will set the auth token into the request header by the provided option.
Note that the interceptor returned from this provider is always applied LAST in the series of interceptors added to a client.
func NewSetCLIVersionInterceptor ¶
func NewSetCLIVersionInterceptor(version string) connect.UnaryInterceptorFunc
NewSetCLIVersionInterceptor returns a new Connect Interceptor that sets the Buf CLI version into all request headers
Types ¶
type AuthError ¶ added in v1.13.0
type AuthError struct {
// contains filtered or unexported fields
}
AuthError wraps the error returned in the auth provider to add additional context.
func AsAuthError ¶ added in v1.10.0
AsAuthError uses errors.As to unwrap any error and look for an *AuthError.
func (*AuthError) Error ¶ added in v1.13.0
Error implements the error interface and returns the error message.
func (*AuthError) TokenEnvKey ¶ added in v1.13.0
TokenEnvKey returns the environment variable used, if any, for authentication.
type TokenProvider ¶ added in v1.13.0
type TokenProvider interface { // RemoteToken returns the remote token from the remote address. RemoteToken(address string) string // IsFromEnvVar returns true if the TokenProvider is generated from an environment variable. IsFromEnvVar() bool }
TokenProvider finds the token for NewAuthorizationInterceptorProvider.
func NewNetrcTokenProvider ¶ added in v1.13.0
func NewNetrcTokenProvider(container app.EnvContainer, getMachineForName func(app.EnvContainer, string) (netrc.Machine, error)) TokenProvider
NewNetrcTokenProvider returns a TokenProvider for a .netrc in a container.
func NewTokenProviderFromContainer ¶ added in v1.13.0
func NewTokenProviderFromContainer(container app.EnvContainer) (TokenProvider, error)
NewTokenProviderFromContainer creates a singleTokenProvider from the BUF_TOKEN environment variable
func NewTokenProviderFromString ¶ added in v1.13.0
func NewTokenProviderFromString(token string) (TokenProvider, error)
NewTokenProviderFromString creates a singleTokenProvider by the token provided