-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathvalues.go
60 lines (54 loc) · 2.16 KB
/
values.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package goacors
import (
"net/http"
)
const (
// HeaderVary "Vary"
HeaderVary = "Vary"
// HeaderOrigin "Origin"
HeaderOrigin = "Origin"
// HeaderAccessControlRequestMethod "Access-Control-Request-Method"
HeaderAccessControlRequestMethod = "Access-Control-Request-Method"
// HeaderAccessControlRequestHeaders "Access-Control-Request-Headers"
HeaderAccessControlRequestHeaders = "Access-Control-Request-Headers"
// HeaderAccessControlAllowOrigin Access-Control-Allow-Origin"
HeaderAccessControlAllowOrigin = "Access-Control-Allow-Origin"
// HeaderAccessControlAllowMethods "Access-Control-Allow-Methods"
HeaderAccessControlAllowMethods = "Access-Control-Allow-Methods"
// HeaderAccessControlAllowHeaders "Access-Control-Allow-Headers"
HeaderAccessControlAllowHeaders = "Access-Control-Allow-Headers"
// HeaderAccessControlAllowCredentials "Access-Control-Allow-Credentials"
HeaderAccessControlAllowCredentials = "Access-Control-Allow-Credentials"
// HeaderAccessControlExposeHeaders "Access-Control-Expose-Headers"
HeaderAccessControlExposeHeaders = "Access-Control-Expose-Headers"
// HeaderAccessControlMaxAge "Access-Control-Max-Age"
HeaderAccessControlMaxAge = "Access-Control-Max-Age"
// HeaderContentType "Content-Type"
HeaderContentType = "Content-Type"
)
// DomainStrategy defined identify how handle (judge match with origin or not) domain
type DomainStrategy int
const (
// AllowStrict strict mode (completely same origin or wild card or null)
AllowStrict DomainStrategy = iota
// AllowIntermediateMatch intermediate-match (such as subdomain like '*.example.com')
AllowIntermediateMatch
)
// GoaCORSConfig CORSチェック用のConfig
type GoaCORSConfig struct {
Skipper
DomainStrategy
AllowOrigins []string
AllowMethods []string
AllowHeaders []string
AllowCredentials bool
ExposeHeaders []string
MaxAge int
}
// DefaultGoaCORSConfig is the default CORS middleware config.
var DefaultGoaCORSConfig = GoaCORSConfig{
Skipper: defaultSkipper,
AllowOrigins: []string{"*"},
AllowMethods: []string{http.MethodGet, http.MethodHead, http.MethodPut, http.MethodPatch, http.MethodPost, http.MethodDelete},
DomainStrategy: AllowStrict,
}