middleware

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2025 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AlgorithmGzip       = "gzip"
	AlgorithmDeflate    = "deflate"
	AlgorithmBrotli     = "br"
	DefaultLevel        = 6
	DefaultThreshold    = 1024
	MinCompressionRatio = 0.05
	SmallBufferSize     = 4096
	MediumBufferSize    = 16384
	LargeBufferSize     = 65536
	StreamingThreshold  = 1024 * 1024
)
View Source
const (
	MaxMiddlewares = 64
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthConfig

type AuthConfig struct {
	Provider string `json:"provider"`
}

type AuthMiddleware

type AuthMiddleware struct {
	// contains filtered or unexported fields
}

func NewAuthMiddleware

func NewAuthMiddleware(provider types.AuthProviderManager, config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) (*AuthMiddleware, error)

func (*AuthMiddleware) Handle

func (a *AuthMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), config *types.RouteConfig)

func (*AuthMiddleware) Name

func (a *AuthMiddleware) Name() string

func (*AuthMiddleware) Provider

func (a *AuthMiddleware) Provider() interface{}

func (*AuthMiddleware) Weight

func (a *AuthMiddleware) Weight() int

type BodyLimitConfig

type BodyLimitConfig struct {
	MaxBodySize int64 `json:"max_body_size"`
}

type BodyLimitMiddleware

type BodyLimitMiddleware struct {
	// contains filtered or unexported fields
}

func NewBodyLimitMiddleware

func NewBodyLimitMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *BodyLimitMiddleware

func (*BodyLimitMiddleware) Handle

func (bl *BodyLimitMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*BodyLimitMiddleware) Name

func (bl *BodyLimitMiddleware) Name() string

func (*BodyLimitMiddleware) Provider

func (bl *BodyLimitMiddleware) Provider() interface{}

func (*BodyLimitMiddleware) Weight

func (bl *BodyLimitMiddleware) Weight() int

type CORSConfig

type CORSConfig struct {
	ExposedHeaders   string `json:"exposed_headers"`
	AllowedOrigins   string `json:"allowed_origins"`
	AllowedMethods   string `json:"allowed_methods"`
	AllowedHeaders   string `json:"allowed_headers"`
	AllowCredentials bool   `json:"allow_credentials"`
	MaxAge           int    `json:"max_age"`
}

type CORSMiddleware

type CORSMiddleware struct {
	// contains filtered or unexported fields
}

func NewCORSMiddleware

func NewCORSMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *CORSMiddleware

func (*CORSMiddleware) Handle

func (c *CORSMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*CORSMiddleware) Name

func (c *CORSMiddleware) Name() string

func (*CORSMiddleware) Provider

func (c *CORSMiddleware) Provider() interface{}

func (*CORSMiddleware) Weight

func (c *CORSMiddleware) Weight() int

type CacheConfig

type CacheConfig struct {
	Enabled    bool          `json:"enabled"`
	DefaultTTL time.Duration `json:"default_ttl"`
}

type CacheMiddleware

type CacheMiddleware struct {
	// contains filtered or unexported fields
}

func NewCacheMiddleware

func NewCacheMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager, cache types.CacheManager) *CacheMiddleware

func (*CacheMiddleware) Handle

func (c *CacheMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), config *types.RouteConfig)

func (*CacheMiddleware) Name

func (c *CacheMiddleware) Name() string

func (*CacheMiddleware) Provider

func (c *CacheMiddleware) Provider() interface{}

func (*CacheMiddleware) Weight

func (c *CacheMiddleware) Weight() int

type CachedResponse

type CachedResponse struct {
	Status  int               `json:"status"`
	Body    []byte            `json:"body"`
	Headers map[string]string `json:"headers"`
}

type CompressionConfig

type CompressionConfig struct {
	Algorithm    string   `json:"algorithm"`
	Level        int      `json:"level"`
	Threshold    int      `json:"threshold"`
	AllowedTypes []string `json:"allowed_types"`
	Timeout      int      `json:"timeout"`
}

type CompressionMiddleware

type CompressionMiddleware struct {
	// contains filtered or unexported fields
}

func NewCompressionMiddleware

func NewCompressionMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *CompressionMiddleware

func (*CompressionMiddleware) Handle

func (c *CompressionMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*CompressionMiddleware) Name

func (c *CompressionMiddleware) Name() string

func (*CompressionMiddleware) Provider

func (c *CompressionMiddleware) Provider() interface{}

func (*CompressionMiddleware) Weight

func (c *CompressionMiddleware) Weight() int

type FastRateLimit

type FastRateLimit struct {
	// contains filtered or unexported fields
}

type LoggingConfig

type LoggingConfig struct {
	LogLevel   string `json:"log_level"`
	LogHeaders bool   `json:"log_headers"`
	LogBody    bool   `json:"log_body"`
}

type LoggingMiddleware

type LoggingMiddleware struct {
	// contains filtered or unexported fields
}

func NewLoggingMiddleware

func NewLoggingMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *LoggingMiddleware

func (*LoggingMiddleware) Handle

func (l *LoggingMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*LoggingMiddleware) Name

func (l *LoggingMiddleware) Name() string

func (*LoggingMiddleware) Provider

func (l *LoggingMiddleware) Provider() interface{}

func (*LoggingMiddleware) Weight

func (l *LoggingMiddleware) Weight() int

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(ctx context.Context, config types.ConfigManager, logger types.Logger, metrics types.MetricsManager, cache types.CacheManager, health types.HealthManager, authProvider types.AuthProviderManager) (*Manager, error)

func (*Manager) Execute

func (m *Manager) Execute(ctx *types.RequestCtx, handler func(*types.RequestCtx), config *types.RouteConfig)

func (*Manager) IsRunning

func (m *Manager) IsRunning() bool

func (*Manager) Register

func (m *Manager) Register(middleware types.Middleware) error

func (*Manager) Start

func (m *Manager) Start() error

func (*Manager) Stop

func (m *Manager) Stop() error

type RateLimitConfig

type RateLimitConfig struct {
	RequestsPerMinute int64         `json:"requests_per_minute"`
	BurstSize         int64         `json:"burst_size"`
	WindowSize        time.Duration `json:"window_size"`
}

type RateLimitMiddleware

type RateLimitMiddleware struct {
	// contains filtered or unexported fields
}

func NewRateLimitMiddleware

func NewRateLimitMiddleware(ctx context.Context, config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *RateLimitMiddleware

func (*RateLimitMiddleware) Handle

func (rl *RateLimitMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*RateLimitMiddleware) Name

func (rl *RateLimitMiddleware) Name() string

func (*RateLimitMiddleware) Provider

func (rl *RateLimitMiddleware) Provider() interface{}

func (*RateLimitMiddleware) Stop

func (rl *RateLimitMiddleware) Stop() error

func (*RateLimitMiddleware) Weight

func (rl *RateLimitMiddleware) Weight() int

type RateLimitShard

type RateLimitShard struct {
	// contains filtered or unexported fields
}

type RecoveryConfig

type RecoveryConfig struct {
	StackTrace bool `json:"stack_trace"`
}

type RecoveryMiddleware

type RecoveryMiddleware struct {
	// contains filtered or unexported fields
}

func NewRecoveryMiddleware

func NewRecoveryMiddleware(config types.ConfigManager, logger types.Logger, metrics types.MetricsManager) *RecoveryMiddleware

func (*RecoveryMiddleware) Handle

func (r *RecoveryMiddleware) Handle(ctx *types.RequestCtx, next func(*types.RequestCtx), _ *types.RouteConfig)

func (*RecoveryMiddleware) Name

func (r *RecoveryMiddleware) Name() string

func (*RecoveryMiddleware) Provider

func (r *RecoveryMiddleware) Provider() interface{}

func (*RecoveryMiddleware) Weight

func (r *RecoveryMiddleware) Weight() int

type State

type State int32
const (
	StateStopped State = iota
	StateStarting
	StateRunning
	StateStopping
)

Jump to

Keyboard shortcuts

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