Documentation
¶
Index ¶
- type Provider
- func (p *Provider) ClientMiddleware(name string) (kratosMiddleware.Middleware, error)
- func (p *Provider) ClientMiddlewares() (map[string]kratosMiddleware.Middleware, error)
- func (p *Provider) Initialize(cfg *middlewarev1.Middlewares, opts ...options.Option)
- func (p *Provider) Names() []string
- func (p *Provider) RegisterClientMiddleware(name string, mw kratosMiddleware.Middleware)
- func (p *Provider) RegisterServerMiddleware(name string, mw kratosMiddleware.Middleware)
- func (p *Provider) ServerMiddleware(name string) (kratosMiddleware.Middleware, error)
- func (p *Provider) ServerMiddlewares() (map[string]kratosMiddleware.Middleware, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider manages the lifecycle of client and server middleware instances. It uses lazy-loading with sync.Once to ensure instances are created only when needed and in a concurrency-safe manner.
func NewProvider ¶
func NewProvider(logger runtimelog.Logger) *Provider
NewProvider creates a new, uninitialized Provider instance.
func (*Provider) ClientMiddleware ¶
func (p *Provider) ClientMiddleware(name string) (kratosMiddleware.Middleware, error)
ClientMiddleware returns a single client middleware instance by name.
func (*Provider) ClientMiddlewares ¶
func (p *Provider) ClientMiddlewares() (map[string]kratosMiddleware.Middleware, error)
ClientMiddlewares returns a map of all available client middleware instances. On the first call, it lazily creates and caches instances based on the configuration.
func (*Provider) Initialize ¶
func (p *Provider) Initialize(cfg *middlewarev1.Middlewares, opts ...options.Option)
Initialize configures the provider with the necessary configuration and options.
func (*Provider) RegisterClientMiddleware ¶
func (p *Provider) RegisterClientMiddleware(name string, mw kratosMiddleware.Middleware)
RegisterClientMiddleware allows for manual registration of a client middleware instance.
func (*Provider) RegisterServerMiddleware ¶
func (p *Provider) RegisterServerMiddleware(name string, mw kratosMiddleware.Middleware)
RegisterServerMiddleware allows for manual registration of a server middleware instance.
func (*Provider) ServerMiddleware ¶
func (p *Provider) ServerMiddleware(name string) (kratosMiddleware.Middleware, error)
ServerMiddleware returns a single server middleware instance by name.
func (*Provider) ServerMiddlewares ¶
func (p *Provider) ServerMiddlewares() (map[string]kratosMiddleware.Middleware, error)
ServerMiddlewares returns a map of all available server middleware instances. It follows the same lazy-loading and caching logic as ClientMiddlewares.