client

package
v0.17.2 Latest Latest
Warning

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

Go to latest
Published: May 22, 2023 License: MIT Imports: 15 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 UserAgent = fmt.Sprintf("Go-Auth0-SDK/%s", auth0.Version)

UserAgent is the default user agent string.

Functions

func Auth0ClientInfoTransport added in v0.16.0

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 added in v0.10.0

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

OAuth2ClientCredentialsAndAudience sets the oauth2 client credentials with a custom audience.

func RateLimitTransport

func RateLimitTransport(base http.RoundTripper) http.RoundTripper

RateLimitTransport wraps base transport with rate limiting functionality.

When a 429 status code is returned by the remote server, the "X-RateLimit-Reset" header is used to determine how long the transport will wait until re-issuing the failed request.

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, tokenSource oauth2.TokenSource, options ...Option) *http.Client

Wrap the base client with transports that enable OAuth2 authentication.

Types

type Auth0ClientInfo added in v0.16.0

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 added in v0.16.0

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 added in v0.16.0

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 WithRateLimit

func WithRateLimit() Option

WithRateLimit configures the client to enable rate limiting.

func WithUserAgent

func WithUserAgent(userAgent string) Option

WithUserAgent configures the client to overwrite the user agent header.

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