Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Credentials ¶
func Credentials()
Credentials sets the allow credentials response header.
Credentials must be used in an Origin expression.
Example:
Origin("http://swagger.goa.design", func() {
Credentials() // Sets Access-Control-Allow-Credentials header
})
func Expose ¶
func Expose(vals ...string)
Expose sets the origin exposed headers.
Expose must appear in an Origin expression.
Example:
Origin("http://swagger.goa.design", func() {
Expose("X-Time") // One or more headers exposed to clients
})
func Headers ¶
func Headers(vals ...string)
Headers sets the authorized headers. "*" authorizes all headers.
Headers must be used in an Origin expression.
Example:
Origin("http://swagger.goa.design", func() {
Headers("X-Shared-Secret")
})
Origin("http://swagger.goa.design", func() {
Headers("*")
})
func MaxAge ¶
func MaxAge(val uint)
MaxAge sets the cache expiry for preflight request responses.
MaxAge must be used in an Origin expression.
Example:
Origin("http://swagger.goa.design", func() {
MaxAge(600) // How long to cache a preflight request response
})
func Methods ¶
func Methods(vals ...string)
Methods sets the origin allowed methods.
Methods must be used in an Origin expression.
Example:
Origin("http://swagger.goa.design", func() {
Methods("GET", "POST") // One or more authorized HTTP methods
})
func Origin ¶
func Origin(origin string, args ...interface{})
Origin defines the CORS policy for a given origin. The origin can use a wildcard prefix such as "https://*.mydomain.com". The special value "*" defines the policy for all origins (in which case there should be only one Origin DSL in the parent resource). The origin can also be a regular expression in which case it must be wrapped with "/".
Origin must appear in API or Service Expression.
Origin accepts an origin string as the first argument and an optional DSL function as the second argument.
Example:
import cors "goa.design/plugins/cors"
var _ = API("calc", func() {
cors.Origin("http://swagger.goa.design", func() { // Define CORS policy, may be prefixed with "*" wildcard
cors.Headers("X-Shared-Secret") // One or more authorized headers, use "*" to authorize all
cors.Methods("GET", "POST") // One or more authorized HTTP methods
cors.Expose("X-Time") // One or more headers exposed to clients
cors.MaxAge(600) // How long to cache a preflight request response
cors.Credentials() // Sets Access-Control-Allow-Credentials header
})
})
var _ = Service("calculator", func() {
cors.Origin("/(api|swagger)[.]goa[.]design/") // Define CORS policy with a regular expression
Method("add", func() {
Description("Add two operands")
Payload(Operands)
Error(ErrBadRequest, ErrorResult)
})
})
Types ¶
This section is empty.