middleware

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2025 License: MIT Imports: 25 Imported by: 2

Documentation

Overview

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware contains generated code by adptool.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Package middleware implements the functions, types, and interfaces for the module.

Index

Constants

View Source
const Type = "middleware"

Variables

This section is empty.

Functions

func KChain added in v0.2.6

func Register added in v0.2.6

func Register(name Name, factory Factory)

Register registers a middleware factory with the given name.

Types

type Builder added in v0.2.0

type Builder interface {
	factory.Registry[Factory]
	BuildClientMiddlewares(*middlewarev1.Middlewares, ...Option) []KMiddleware
	BuildServerMiddlewares(*middlewarev1.Middlewares, ...Option) []KMiddleware
}

Builder is an interface that defines a method for registering a buildImpl.

func NewBuilder added in v0.2.0

func NewBuilder() Builder

NewBuilder creates a new middleware builder.

type Carrier added in v0.2.6

type Carrier struct {
	Clients map[string]KMiddleware
	Servers map[string]KMiddleware
}

Carrier is a struct that holds the middlewares for client and server.

type Factory added in v0.2.0

type Factory interface {
	// NewMiddlewareClient builds a client-side middleware.
	NewMiddlewareClient(*middlewarev1.Middleware, ...Option) (KMiddleware, bool)
	// NewMiddlewareServer builds a server-side middleware.
	NewMiddlewareServer(*middlewarev1.Middleware, ...Option) (KMiddleware, bool)
}

Factory is an interface that defines a method for creating a new buildImpl. It receives the middleware-specific Protobuf configuration and the generic Option slice. Each factory is responsible for parsing the options it cares about (e.g., by using log.FromOptions).

type KHandler added in v0.1.18

type KHandler = middleware.Handler

type KMiddleware added in v0.1.18

type KMiddleware = middleware.Middleware

func BuildClientMiddlewares added in v0.2.7

func BuildClientMiddlewares(middlewares *middlewarev1.Middlewares, opts ...Option) []KMiddleware

BuildClientMiddlewares build a client middleware chain

func BuildServerMiddlewares added in v0.2.7

func BuildServerMiddlewares(middlewares *middlewarev1.Middlewares, opts ...Option) []KMiddleware

BuildServerMiddlewares build a server middleware chain

func Empty

func Empty() KMiddleware

Empty returns an empty middleware.

func JwtClient added in v0.1.15

func JwtClient(cfg *jwtv1.JWT) (KMiddleware, bool)

func JwtServer added in v0.1.15

func JwtServer(cfg *jwtv1.JWT) (KMiddleware, bool)

func NewClient

func NewClient(mc *middlewarev1.Middleware, opts ...Option) (KMiddleware, bool)

NewClient creates a new client with the given configuration. This function is a convenience wrapper around the default builder.

func NewServer

func NewServer(mc *middlewarev1.Middleware, opts ...Option) (KMiddleware, bool)

NewServer creates a new server with the given configuration. This function is a convenience wrapper around the default builder.

func SelectorClient added in v0.1.15

func SelectorClient(cfg *selectorv1.Selector, matchFunc selector.MatchFunc, middlewares ...KMiddleware) KMiddleware

SelectorClient creates a selector middleware for client-side. This helper function is still available for direct use if needed to wrap specific middlewares.

func SelectorServer added in v0.1.15

func SelectorServer(cfg *selectorv1.Selector, matchFunc selector.MatchFunc, middlewares ...KMiddleware) KMiddleware

SelectorServer creates a selector middleware for server-side. This helper function is still available for direct use if needed to wrap specific middlewares.

func Validate

func Validate(ms []KMiddleware, validator *validatorv1.Validator) []KMiddleware

Validate is a middleware validator. Deprecated: use ValidateServer

func ValidateServer added in v0.0.12

func ValidateServer(ms []KMiddleware, validator *validatorv1.Validator) []KMiddleware

type Name added in v0.2.6

type Name string

Name is the name of a middleware.

const (
	Jwt            Name = "jwt"
	CircuitBreaker Name = "circuit_breaker"
	Logging        Name = "logging"
	Metadata       Name = "metadata"
	RateLimiter    Name = "rate_limiter"
	Tracing        Name = "tracing"
	Validator      Name = "validator"
	Optimize       Name = "optimize"
	Selector       Name = "selector"
)

Middleware names.

type Option added in v0.1.0

type Option = options.Option

func WithCarrier added in v0.2.6

func WithCarrier(carrier *Carrier) Option

func WithLogger added in v0.1.29

func WithLogger(logger log.Logger) Option

func WithMatchFunc added in v0.1.29

func WithMatchFunc(matchFunc selector.MatchFunc) Option

type Options added in v0.1.56

type Options struct {
	Logger    log.Logger         // The resolved logger instance.
	MatchFunc selector.MatchFunc // MatchFunc for selector middleware
	Carrier   *Carrier
}

Options holds common options that have been resolved once at the top level. These options are then passed down to individual middleware factories.

func FromOptions added in v0.2.6

func FromOptions(opts ...Option) *Options

FromOptions resolves common options from a slice of generic Option. It returns the resolved options.Context and a custom *Options struct.

Directories

Path Synopsis
Package cors implements CORS middleware for the framework.
Package cors implements CORS middleware for the framework.
Package validate implements the functions, types, and interfaces for the module.
Package validate implements the functions, types, and interfaces for the module.

Jump to

Keyboard shortcuts

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