middleware

package
v0.1.10 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2025 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

View Source
const (
	NA = iota
	Reader
	Writer
	Owner
)

Variables

View Source
var (
	ErrMissingUserIDHeaderKey                  = errors.New("missing user id header key")
	ErrMissingIdempotencyHeaderKey             = errors.New("missing idempotency header key")
	ErrMissingIdempotencyTimeout               = errors.New("missing idempotency timeout")
	ErrMissingIdempotencyKeyTTL                = errors.New("missing idempotency key ttl")
	ErrMissingAuthorizationTimeout             = errors.New("missing authorization timeout")
	ErrMissingAuthorizationURL                 = errors.New("missing authorization url")
	ErrMissingAuthenticationTimeout            = errors.New("missing authentication timeout")
	ErrMissingFirebaseIDTokenAuthenticationURL = errors.New("missing firebase id token authentication url")
	ErrMissingOIDCAuthenticationURL            = errors.New("missing oidc authentication url")
)

Functions

func NewTool

func NewTool(c Client, opts contract.ToolOptions[Client]) *defaultTool

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

Jump to

Keyboard shortcuts

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