cors

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUnsafeProductionConfig se lanza cuando se intenta usar configuración insegura en producción
	ErrUnsafeProductionConfig = errors.New("unsafe CORS configuration detected in production mode: AllowAllOrigins=true is not allowed")

	// ErrNoOriginsAllowed se lanza cuando no hay orígenes permitidos
	ErrNoOriginsAllowed = errors.New("no origins allowed: must specify at least one origin when AllowAllOrigins is false")

	// ErrOriginNotAllowed se lanza cuando un origen no está permitido
	ErrOriginNotAllowed = errors.New("origin not allowed by CORS policy")
)

Functions

func Default

func Default() gin.HandlerFunc

Default crea middleware CORS con configuración por defecto

func Development

func Development() gin.HandlerFunc

Development crea middleware CORS para desarrollo

func Middleware

func Middleware(config *Config) gin.HandlerFunc

Middleware crea el middleware CORS con la configuración especificada

func New

func New(config *Config) gin.HandlerFunc

New es un alias para Middleware para compatibilidad

func Production

func Production(domains []string) gin.HandlerFunc

Production crea middleware CORS para producción con dominios específicos

Types

type Config

type Config struct {
	AllowedOrigins     []string      `json:"allowed_origins"`
	AllowedMethods     []string      `json:"allowed_methods"`
	AllowedHeaders     []string      `json:"allowed_headers"`
	ExposedHeaders     []string      `json:"exposed_headers"`
	AllowCredentials   bool          `json:"allow_credentials"`
	MaxAge             time.Duration `json:"max_age"`
	IsDevelopment      bool          `json:"is_development"`
	AllowAllOrigins    bool          `json:"allow_all_origins"` // Solo para desarrollo
	PreflightContinue  bool          `json:"preflight_continue"`
	OptionsPassthrough bool          `json:"options_passthrough"`
}

Config configura las opciones de CORS de manera segura

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig retorna configuración CORS segura por defecto

func DevelopmentConfig

func DevelopmentConfig() *Config

DevelopmentConfig retorna configuración CORS para desarrollo

func ProductionConfig

func ProductionConfig(domains []string) *Config

ProductionConfig retorna configuración CORS estricta para producción

func (*Config) IsOriginAllowed

func (c *Config) IsOriginAllowed(origin string) bool

IsOriginAllowed verifica si un origen está permitido

func (*Config) Validate

func (c *Config) Validate() error

Validate valida la configuración CORS

type ErrInvalidMethod

type ErrInvalidMethod struct {
	Method string
}

ErrInvalidMethod error para métodos HTTP inválidos

func NewErrInvalidMethod

func NewErrInvalidMethod(method string) *ErrInvalidMethod

NewErrInvalidMethod crea un nuevo error de método inválido

func (*ErrInvalidMethod) Error

func (e *ErrInvalidMethod) Error() string

type ErrInvalidOrigin

type ErrInvalidOrigin struct {
	Origin string
	Reason string
}

ErrInvalidOrigin error para orígenes inválidos

func NewErrInvalidOrigin

func NewErrInvalidOrigin(origin, reason string) *ErrInvalidOrigin

NewErrInvalidOrigin crea un nuevo error de origen inválido

func (*ErrInvalidOrigin) Error

func (e *ErrInvalidOrigin) Error() string

Jump to

Keyboard shortcuts

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