Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Host string `mapstructure:"host"` HTTPPort string `mapstructure:"http_port"` HTTPTimeout HTTPTimeout `mapstructure:"http_timeout"` GRPCPort string `mapstructure:"grpc_port"` Cors Cors `mapstructure:"cors"` }
Config represents a web server configuration
func (*Config) GetCorsSettings ¶ added in v1.3.0
func (c *Config) GetCorsSettings() []CorsSetting
GetCorsSettings returns list of CORS settings
type Cors ¶ added in v1.3.0
type Cors struct { Enabled bool `mapstructure:"enabled"` Settings []CorsSetting `mapstructure:"settings"` }
Cors struct represents a flag indicating if CORS feature is enabled or not Also, Cors struct contains a list of CORS Settings
type CorsSetting ¶ added in v1.3.0
type CorsSetting struct { // Path represents a server route string, for example "/example/{id}" for which the following CORS settings // will be applied Path string `mapstructure:"path"` // AllowedOrigins 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. // An origin may contain a wildcard (*) to replace 0 or more characters // (i.e.: http://*.domain.com). Usage of wildcards implies a small performance penalty. // Only one wildcard can be used per origin. AllowedOrigins []string `mapstructure:"allowed_origins"` // 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 AllowedOrigins is ignored. AllowOriginFunc func(origin string) bool // AllowOriginRequestFunc is a custom function to validate the origin. // It takes the HTTP Request object and the origin as // argument and returns true if allowed or false otherwise. // If this option is set, the content of `AllowedOrigins` and `AllowOriginFunc` is ignored. AllowOriginRequestFunc func(r *http.Request, origin string) bool // AllowedHeaders is list of non simple headers the client is allowed to use with // cross-domain requests. // If the special "*" value is present in the list, all headers will be allowed. // "Origin" is always appended to the list. AllowedMethods []string `mapstructure:"allowed_methods"` // AllowedHeaders is list of non simple headers the client is allowed to use with // cross-domain requests. // If the special "*" value is present in the list, all headers will be allowed. // "Origin" is always appended to the list. AllowedHeaders []string `mapstructure:"allowed_headers"` // ExposedHeaders indicates which headers are safe to expose to the API of a CORS // API specification ExposedHeaders []string `mapstructure:"exposed_headers"` // AllowCredentials indicates whether the request can include user credentials like // cookies, HTTP authentication or client side SSL certificates. AllowCredentials bool `mapstructure:"allow_credentials"` // MaxAge indicates how long (in seconds) the results of a preflight request // can be cached MaxAge int `mapstructure:"max_age"` // AllowCredentials indicates whether the request can include user credentials like // cookies, HTTP authentication or client side SSL certificates. OptionsPassthrough bool `mapstructure:"options_passthrough"` }
CorsSetting struct contains CORS settings.
func (CorsSetting) Matches ¶ added in v1.3.0
func (s CorsSetting) Matches(path string) bool
Matches returns true if the provided path string equals to Path setting or equals to "*". Returns false otherwise
Click to show internal directories.
Click to hide internal directories.