cors: github.com/gin-contrib/cors Index | Files | Directories

package cors

import "github.com/gin-contrib/cors"

Index

Package Files

config.go cors.go utils.go

Variables

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

func Default Uses

func Default() gin.HandlerFunc

Default returns the location middleware with default configuration.

func New Uses

func New(config Config) gin.HandlerFunc

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

type Config Uses

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

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

    // MaxAge indicates how long (in seconds) 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 DefaultConfig Uses

func DefaultConfig() Config

DefaultConfig returns a generic default configuration mapped to localhost.

func (*Config) AddAllowHeaders Uses

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

AddAllowHeaders is allowed to add custom headers

func (*Config) AddAllowMethods Uses

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

AddAllowMethods is allowed to add custom methods

func (*Config) AddExposeHeaders Uses

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

AddExposeHeaders is allowed to add custom expose headers

func (Config) Validate Uses

func (c Config) Validate() error

Validate is check configuration of user defined.

Directories

PathSynopsis
examples

Package cors imports 6 packages (graph) and is imported by 216 packages. Updated 2020-11-17. Refresh now. Tools for package owners.