middleware

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package middleware provides Echo middleware implementations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Casbin

func Casbin(enforcer *casbin.Enforcer, config *CasbinConfig) echo.MiddlewareFunc

Casbin returns an authorization middleware using Casbin.

func ErrorHandler

func ErrorHandler(err error, c echo.Context)

ErrorHandler is the centralized error handler for Echo.

func JWT

func JWT(config *JWTConfig) echo.MiddlewareFunc

JWT returns a JWT authentication middleware.

func Recovery

func Recovery() echo.MiddlewareFunc

Recovery returns a panic recovery middleware.

func RequestLogger

func RequestLogger() echo.MiddlewareFunc

RequestLogger returns a request logging middleware.

Types

type CasbinConfig

type CasbinConfig struct {
	// Enabled controls whether Casbin is enabled.
	Enabled bool
	// SkipPaths are paths that skip authorization.
	SkipPaths []string
	// AdminUsers are users that bypass authorization.
	AdminUsers []string
	// UserGetter extracts user from context.
	UserGetter func(c echo.Context) (string, error)
	// EnforceHandler performs custom authorization logic.
	EnforceHandler func(c echo.Context, user string) (bool, error)
}

CasbinConfig holds Casbin middleware configuration.

func CreateCasbinConfig

func CreateCasbinConfig(enabled bool, skipPaths []string, adminUsers []string) *CasbinConfig

CreateCasbinConfig creates Casbin config from parameters.

func DefaultCasbinConfig

func DefaultCasbinConfig() *CasbinConfig

DefaultCasbinConfig returns default Casbin configuration.

type JWTConfig

type JWTConfig struct {
	// SigningKey is the secret key for JWT validation.
	SigningKey []byte
	// SkipPaths are paths that skip JWT validation.
	SkipPaths []string
	// Enabled controls whether JWT is enabled.
	Enabled bool
	// ClaimsFunc creates a new claims instance.
	ClaimsFunc func(c echo.Context) jwt.Claims
}

JWTConfig holds JWT middleware configuration.

func CreateJWTConfig

func CreateJWTConfig(secret string, skipPaths []string, enabled bool) *JWTConfig

CreateJWTConfig creates JWT config from parameters.

func DefaultJWTConfig

func DefaultJWTConfig() *JWTConfig

DefaultJWTConfig returns default JWT configuration.

type ValidationError

type ValidationError struct {
	Field   string `json:"field"`
	Message string `json:"message"`
	Value   any    `json:"value,omitempty"`
}

ValidationError represents a validation error.

func (*ValidationError) Error

func (e *ValidationError) Error() string

Jump to

Keyboard shortcuts

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