cors

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultSchemas = []string{
		"http://",
		"https://",
	}
	ExtensionSchemas = []string{
		"chrome-extension://",
		"safari-extension://",
		"moz-extension://",
		"ms-browser-extension://",
	}
	FileSchemas = []string{
		"file://",
	}
	WebSocketSchemas = []string{
		"ws://",
		"wss://",
	}
)

Functions

func New

func New(opts ...Option) gin.HandlerFunc

New returns the location middleware with user-defined custom configuration.

Types

type Config

type Config struct {
	AllowAllOrigins bool

	// AllowOrigins is a list of origins a cross-domain request can be executed from.
	// If the special "*" value is present in the list, all origins will be allowed.
	// Default value is []
	AllowOrigins []string

	// AllowOriginFunc is a custom function to validate the origin. It take the origin
	// as argument and returns true if allowed or false otherwise. If this option is
	// set, the content of AllowOrigins is ignored.
	AllowOriginFunc func(origin string) bool

	// AllowMethods is a list of methods the client is allowed to use with
	// cross-domain requests. Default value is simple methods (GET and POST)
	AllowMethods []string

	// AllowHeaders is list of non simple headers the client is allowed to use with
	// cross-domain requests.
	AllowHeaders []string

	// AllowCredentials indicates whether the request can include user credentials like
	// cookies, HTTP authentication or client side SSL certificates.
	AllowCredentials bool

	// ExposeHeaders indicates which headers are safe to expose to the API of a CORS
	// API specification
	ExposeHeaders []string

	// MaxAge indicates how long (with second-precision) the results of a preflight request
	// can be cached
	MaxAge time.Duration

	// Allows to add origins like http://some-domain/*, https://api.* or http://some.*.subdomain.com
	AllowWildcard bool

	// Allows usage of popular browser extensions schemas
	AllowBrowserExtensions bool

	// Allows usage of WebSocket protocol
	AllowWebSockets bool

	// Allows usage of file:// schema (dangerous!) use it only when you 100% sure it's needed
	AllowFiles bool
}

Config represents all available options for the middleware.

func (*Config) AddAllowHeaders

func (c *Config) AddAllowHeaders(headers ...string)

AddAllowHeaders is allowed to add custom headers

func (*Config) AddAllowMethods

func (c *Config) AddAllowMethods(methods ...string)

AddAllowMethods is allowed to add custom methods

func (*Config) AddExposeHeaders

func (c *Config) AddExposeHeaders(headers ...string)

AddExposeHeaders is allowed to add custom expose headers

func (Config) Validate

func (c Config) Validate() error

Validate is check configuration of user defined.

type Option added in v0.2.5

type Option func(*Config)

Option for queue system

func WithAllowAllOrigins added in v0.2.5

func WithAllowAllOrigins(allowAllOrigins bool) Option

WithAllowAllOrigins set allowAllOrigins function default false

func WithAllowCredentials added in v0.2.5

func WithAllowCredentials(allowCredentials bool) Option

WithAllowCredentials set allowCredentials function default true

func WithAllowHeaders added in v0.2.5

func WithAllowHeaders(headers []string) Option

WithAllowHeaders set headers function default "Origin", "Content-Type", "Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Cache-Control", "Content-Language"

func WithAllowMethods added in v0.2.5

func WithAllowMethods(methods []string) Option

WithAllowMethods set methods function default "GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"

func WithAllowOriginFunc added in v0.2.5

func WithAllowOriginFunc(originFunc func(origin string) bool) Option

WithAllowOriginFunc set origin function default true

func WithAllowOrigins added in v0.2.5

func WithAllowOrigins(origins []string) Option

WithAllowOrigins set origins function default *

func WithAllowWildcard added in v0.2.5

func WithAllowWildcard(allowWildcard bool) Option

WithAllowWildcard set allowWildcard function default false

func WithExposeHeaders added in v0.2.5

func WithExposeHeaders(headers []string) Option

WithExposeHeaders set headers function

func WithMaxAge added in v0.2.5

func WithMaxAge(maxAge time.Duration) Option

WithMaxAge set maxAge function default 12 * time.Hour

Jump to

Keyboard shortcuts

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