client

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultAuth0ClientInfo = &Auth0ClientInfo{
	Name:    "go-auth0",
	Version: auth0.Version,
	Env: map[string]string{
		"go": runtime.Version(),
	},
}

DefaultAuth0ClientInfo is the default client information sent by the go-auth0 SDK.

View Source
var DefaultRetryOptions = RetryOptions{
	MaxRetries: 2,
	Statuses:   []int{http.StatusTooManyRequests},
}

DefaultRetryOptions is the default retry configuration used by the SDK. It will only retry on 429 errors and will retry a request twice.

View Source
var UserAgent = fmt.Sprintf("Go-Auth0/%s", auth0.Version)

UserAgent is the default user agent string.

Functions

func Auth0ClientInfoTransport

func Auth0ClientInfoTransport(base http.RoundTripper, auth0ClientInfo *Auth0ClientInfo) (http.RoundTripper, error)

Auth0ClientInfoTransport wraps base transport with a customized "Auth0-Client" header.

func DebugTransport

func DebugTransport(base http.RoundTripper, debug bool) http.RoundTripper

DebugTransport wraps base transport with the ability to log the contents of requests and responses.

func OAuth2ClientCredentials

func OAuth2ClientCredentials(ctx context.Context, uri, clientID, clientSecret string) oauth2.TokenSource

OAuth2ClientCredentials sets the oauth2 client credentials.

func OAuth2ClientCredentialsAndAudience

func OAuth2ClientCredentialsAndAudience(
	ctx context.Context,
	uri,
	clientID,
	clientSecret,
	audience string,
) oauth2.TokenSource

OAuth2ClientCredentialsAndAudience sets the oauth2 client credentials with a custom audience.

func RetriesTransport

func RetriesTransport(base http.RoundTripper, r RetryOptions) http.RoundTripper

RetriesTransport wraps base transport with retry functionality.

This transport will retry in the following circumstances: Total retries is less than the configured amount AND The configuration specifies to retry on the status OR the error.

func StaticToken

func StaticToken(token string) oauth2.TokenSource

StaticToken sets a static token to be used for oauth2.

func UserAgentTransport

func UserAgentTransport(base http.RoundTripper, userAgent string) http.RoundTripper

UserAgentTransport wraps base transport with a customized "User-Agent" header.

func Wrap

func Wrap(base *http.Client, options ...Option) *http.Client

Wrap the base client with just the internal transports.

func WrapWithTokenSource

func WrapWithTokenSource(base *http.Client, tokenSource oauth2.TokenSource, options ...Option) *http.Client

WrapWithTokenSource wraps the base client with transports that enable OAuth2 authentication.

Types

type Auth0ClientInfo

type Auth0ClientInfo struct {
	Name    string            `json:"name"`
	Version string            `json:"version"`
	Env     map[string]string `json:"env,omitempty"`
}

Auth0ClientInfo is the structure used to send client information in the "Auth0-Client" header.

func (*Auth0ClientInfo) IsEmpty

func (td *Auth0ClientInfo) IsEmpty() bool

IsEmpty checks whether the provided Auth0ClientInfo data is nil or has no data to allow short-circuiting the "Auth0-Client" header configuration.

type Option

type Option func(*http.Client)

Option is the type used to configure a client.

func WithAuth0ClientInfo

func WithAuth0ClientInfo(auth0ClientInfo *Auth0ClientInfo) Option

WithAuth0ClientInfo configures the client to overwrite the "Auth0-Client" header.

func WithDebug

func WithDebug(debug bool) Option

WithDebug configures the client to enable debug.

func WithRetries

func WithRetries(r RetryOptions) Option

WithRetries configures the retry transports on the http client used.

func WithUserAgent

func WithUserAgent(userAgent string) Option

WithUserAgent configures the client to overwrite the user agent header.

type RetryOptions

type RetryOptions struct {
	MaxRetries int
	Statuses   []int
}

RetryOptions defines the retry rules that should be followed by the SDK when making requests.

func (*RetryOptions) IsEmpty

func (r *RetryOptions) IsEmpty() bool

IsEmpty checks whether the provided Auth0ClientInfo data is nil or has no data to allow short-circuiting the "Auth0-Client" header configuration.

type RoundTripFunc

type RoundTripFunc func(*http.Request) (*http.Response, error)

RoundTripFunc is an adapter to allow the use of ordinary functions as HTTP round trips.

func (RoundTripFunc) RoundTrip

func (rf RoundTripFunc) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip executes a single HTTP transaction, returning a Response for the provided Request.

Jump to

Keyboard shortcuts

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