Documentation
¶
Index ¶
- Constants
- func NewTool(c Client, opts contract.ToolOptions[Client]) *defaultTool
- type Client
- type ClientOption
- func WithAuthenticationTimeout(d time.Duration) ClientOption
- func WithAuthorizationTimeout(d time.Duration) ClientOption
- func WithAuthorizationURL(u *url.URL) ClientOption
- func WithFirebaseIDTokenAuthenticationURL(u *url.URL) ClientOption
- func WithIdempotencyHeaderKey(key string) ClientOption
- func WithIdempotencyKeyTTL(d time.Duration) ClientOption
- func WithIdempotencyTimeout(d time.Duration) ClientOption
- func WithOIDCAuthenticationURL(u *url.URL) ClientOption
- func WithUserIDHeaderKey(key string) ClientOption
- type ClientOptions
- type Dependencies
Constants ¶
View Source
const ( NA = iota Reader Writer Owner )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Client ¶
type Client interface {
contract.MiddlewareOperator
}
func NewClient ¶
func NewClient(d Dependencies, opts ClientOptions) (Client, error)
type ClientOption ¶
type ClientOption func(*ClientOptions)
func WithAuthenticationTimeout ¶
func WithAuthenticationTimeout(d time.Duration) ClientOption
func WithAuthorizationTimeout ¶
func WithAuthorizationTimeout(d time.Duration) ClientOption
func WithAuthorizationURL ¶
func WithAuthorizationURL(u *url.URL) ClientOption
func WithFirebaseIDTokenAuthenticationURL ¶
func WithFirebaseIDTokenAuthenticationURL(u *url.URL) ClientOption
func WithIdempotencyHeaderKey ¶
func WithIdempotencyHeaderKey(key string) ClientOption
func WithIdempotencyKeyTTL ¶
func WithIdempotencyKeyTTL(d time.Duration) ClientOption
func WithIdempotencyTimeout ¶
func WithIdempotencyTimeout(d time.Duration) ClientOption
func WithOIDCAuthenticationURL ¶
func WithOIDCAuthenticationURL(u *url.URL) ClientOption
func WithUserIDHeaderKey ¶
func WithUserIDHeaderKey(key string) ClientOption
type ClientOptions ¶
type ClientOptions struct {
UserIDKeaderKey string
IdempotencyHeaderKey string
IdempotencyTimeout time.Duration
IdempotencyKeyTTL time.Duration
AuthorizationTimeout time.Duration
AuthenticationTimeout time.Duration
AuthorizationURL *url.URL
FirebaseIDTokenAuthenticationURL *url.URL
OIDCAuthenticationURL *url.URL
}
func ApplyClientOptions ¶
func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions
type Dependencies ¶
type Dependencies struct {
C contract.CacheOperator
RS contract.HTTPResponder
HR contract.HTTPRequester
HU contract.HTTPUtil
HD contract.HTTPDoer
}
Click to show internal directories.
Click to hide internal directories.