Skip to content

Commit b9ac6a0

Browse files
committed
支持gin cors 配置
1 parent 033294b commit b9ac6a0

File tree

4 files changed

+72
-17
lines changed

4 files changed

+72
-17
lines changed

examples/http_gin/main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
// 非业务模块
1212
_ "github.com/infraboard/mcube/v2/ioc/apps/health/gin"
1313
_ "github.com/infraboard/mcube/v2/ioc/apps/metric/gin"
14+
_ "github.com/infraboard/mcube/v2/ioc/config/cors"
1415
)
1516

1617
func main() {

go.mod

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ require (
1111
github.com/dustin/go-humanize v1.0.1
1212
github.com/emicklei/go-restful-openapi/v2 v2.9.1
1313
github.com/emicklei/go-restful/v3 v3.11.0
14+
github.com/gin-contrib/cors v1.5.0
1415
github.com/gin-gonic/gin v1.9.1
1516
github.com/go-openapi/spec v0.20.9
1617
github.com/go-playground/locales v0.14.1
@@ -53,9 +54,10 @@ require (
5354

5455
require (
5556
github.com/beorn7/perks v1.0.1 // indirect
56-
github.com/bytedance/sonic v1.9.1 // indirect
57+
github.com/bytedance/sonic v1.10.1 // indirect
5758
github.com/cespare/xxhash/v2 v2.2.0 // indirect
58-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
59+
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
60+
github.com/chenzhuoyu/iasm v0.9.0 // indirect
5961
github.com/davecgh/go-spew v1.1.1 // indirect
6062
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
6163
github.com/felixge/httpsnoop v1.0.3 // indirect
@@ -77,7 +79,7 @@ require (
7779
github.com/json-iterator/go v1.1.12 // indirect
7880
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
7981
github.com/klauspost/compress v1.15.9 // indirect
80-
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
82+
github.com/klauspost/cpuid/v2 v2.2.5 // indirect
8183
github.com/leodido/go-urn v1.2.4 // indirect
8284
github.com/mailru/easyjson v0.7.6 // indirect
8385
github.com/mattn/go-colorable v0.1.13 // indirect
@@ -87,7 +89,7 @@ require (
8789
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
8890
github.com/modern-go/reflect2 v1.0.2 // indirect
8991
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect
90-
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
92+
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
9193
github.com/pierrec/lz4/v4 v4.1.15 // indirect
9294
github.com/pmezard/go-difflib v1.0.0 // indirect
9395
github.com/prometheus/client_model v0.5.0 // indirect
@@ -102,7 +104,7 @@ require (
102104
github.com/xdg-go/stringprep v1.0.4 // indirect
103105
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
104106
go.opentelemetry.io/otel/metric v1.21.0 // indirect
105-
golang.org/x/arch v0.3.0 // indirect
107+
golang.org/x/arch v0.5.0 // indirect
106108
golang.org/x/net v0.18.0 // indirect
107109
golang.org/x/sync v0.4.0 // indirect
108110
golang.org/x/sys v0.15.0 // indirect

go.sum

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,19 @@ github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
1717
github.com/bsm/gomega v1.26.0/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
1818
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
1919
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
20-
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
21-
github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
20+
github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
21+
github.com/bytedance/sonic v1.10.1 h1:7a1wuFXL1cMy7a3f7/VFcEtriuXQnUBhtoVfOZiaysc=
22+
github.com/bytedance/sonic v1.10.1/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4=
2223
github.com/caarlos0/env/v6 v6.10.1 h1:t1mPSxNpei6M5yAeu1qtRdPAK29Nbcf/n3G7x+b3/II=
2324
github.com/caarlos0/env/v6 v6.10.1/go.mod h1:hvp/ryKXKipEkcuYjs9mI4bBCg+UI0Yhgm5Zu0ddvwc=
2425
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
2526
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
2627
github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY=
27-
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams=
2828
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
29+
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0=
30+
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA=
31+
github.com/chenzhuoyu/iasm v0.9.0 h1:9fhXjVzq5hUy2gkhhgHl95zG2cEAhw9OSGs8toWWAwo=
32+
github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog=
2933
github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k=
3034
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
3135
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
@@ -53,6 +57,8 @@ github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBd
5357
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
5458
github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
5559
github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
60+
github.com/gin-contrib/cors v1.5.0 h1:DgGKV7DDoOn36DFkNtbHrjoRiT5ExCe+PC9/xp7aKvk=
61+
github.com/gin-contrib/cors v1.5.0/go.mod h1:TvU7MAZ3EwrPLI2ztzTt3tqgvBCq+wn8WpZmfADjupI=
5662
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
5763
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
5864
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
@@ -115,8 +121,9 @@ github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e
115121
github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY=
116122
github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
117123
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
118-
github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
119-
github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
124+
github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
125+
github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
126+
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
120127
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
121128
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
122129
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
@@ -150,8 +157,8 @@ github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJ
150157
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
151158
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
152159
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
153-
github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
154-
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
160+
github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
161+
github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
155162
github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
156163
github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
157164
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -196,7 +203,6 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
196203
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
197204
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
198205
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
199-
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
200206
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
201207
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
202208
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
@@ -242,8 +248,8 @@ go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6
242248
go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=
243249
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
244250
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
245-
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
246-
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
251+
golang.org/x/arch v0.5.0 h1:jpGode6huXQxcskEIpOCvrU+tzo81b6+oFLUYXWtH/Y=
252+
golang.org/x/arch v0.5.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
247253
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
248254
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
249255
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
@@ -275,7 +281,6 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w
275281
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
276282
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
277283
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
278-
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
279284
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
280285
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
281286
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -338,6 +343,7 @@ gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb
338343
gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
339344
gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls=
340345
gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
346+
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
341347
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
342348
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
343349
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

ioc/config/cors/cors.go

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ package cors
22

33
import (
44
"net/http"
5+
"time"
56

67
"github.com/emicklei/go-restful/v3"
8+
"github.com/gin-contrib/cors"
9+
"github.com/gin-gonic/gin"
710
"github.com/infraboard/mcube/v2/ioc"
811
ioc_http "github.com/infraboard/mcube/v2/ioc/config/http"
12+
"github.com/infraboard/mcube/v2/ioc/config/log"
13+
"github.com/rs/zerolog"
914
)
1015

1116
func init() {
@@ -14,41 +19,82 @@ func init() {
1419
AllowedHeaders: []string{".*"},
1520
AllowedDomains: []string{".*"},
1621
AllowedMethods: []string{"HEAD", "OPTIONS", "GET", "POST", "PUT", "PATCH", "DELETE"},
22+
MaxAge: 12 * 60 * 60,
1723
})
1824
}
1925

2026
type CORS struct {
2127
ioc.ObjectImpl
28+
log *zerolog.Logger
2229

2330
Enabled bool `toml:"enabled" json:"enabled" yaml:"enabled" env:"HTTP_CORS_ENABLED"`
2431
AllowedHeaders []string `json:"cors_allowed_headers" yaml:"cors_allowed_headers" toml:"cors_allowed_headers" env:"HTTP_CORS_ALLOWED_HEADERS" envSeparator:","`
2532
AllowedDomains []string `json:"cors_allowed_domains" yaml:"cors_allowed_domains" toml:"cors_allowed_domains" env:"HTTP_CORS_ALLOWED_DOMAINS" envSeparator:","`
2633
AllowedMethods []string `json:"cors_allowed_methods" yaml:"cors_allowed_methods" toml:"cors_allowed_methods" env:"HTTP_CORS_ALLOWED_METHODS" envSeparator:","`
34+
ExposeHeaders []string `json:"cors_expose_headers" yaml:"cors_expose_headers" toml:"cors_expose_headers" env:"HTTP_CORS_EXPOSE_HEADERS" envSeparator:","`
35+
AllowCookies bool `toml:"cors_allow_cookies" json:"cors_allow_cookies" yaml:"cors_allow_cookies" env:"HTTP_CORS_ALLOW_COOKIES"`
36+
// 单位秒, 默认12小时
37+
MaxAge int `toml:"max_age" json:"max_age" yaml:"max_age" env:"HTTP_CORS_MAX_AGE"`
2738
}
2839

2940
func (m *CORS) Name() string {
3041
return AppName
3142
}
3243

44+
func (m *CORS) goRestfulDefault() {
45+
if len(m.AllowedDomains) == 0 {
46+
m.AllowedDomains = append(m.AllowedDomains, ".*")
47+
}
48+
if len(m.AllowedHeaders) == 0 {
49+
m.AllowedHeaders = append(m.AllowedHeaders, ".*")
50+
}
51+
}
52+
53+
func (m *CORS) ginRestfulDefault() {
54+
if len(m.AllowedDomains) == 0 {
55+
m.AllowedDomains = append(m.AllowedDomains, "*")
56+
}
57+
if len(m.AllowedHeaders) == 0 {
58+
m.AllowedHeaders = append(m.AllowedHeaders, "*")
59+
}
60+
}
61+
3362
func (m *CORS) Init() error {
63+
m.log = log.Sub("cors")
3464
rb := ioc_http.Get().GetRouterBuilder()
3565

3666
// 将中间件添加到Router中
3767
if m.Enabled {
3868
rb.BeforeLoadHooks(func(h http.Handler) {
3969
switch r := h.(type) {
4070
case *restful.Container:
71+
m.goRestfulDefault()
4172
cors := restful.CrossOriginResourceSharing{
4273
AllowedHeaders: m.AllowedHeaders,
4374
AllowedDomains: m.AllowedDomains,
4475
AllowedMethods: m.AllowedMethods,
45-
CookiesAllowed: false,
76+
ExposeHeaders: m.ExposeHeaders,
77+
CookiesAllowed: m.AllowCookies,
78+
MaxAge: m.MaxAge,
4679
Container: r,
4780
}
4881
r.Filter(cors.Filter)
82+
case *gin.Engine:
83+
m.ginRestfulDefault()
84+
r.Use(cors.New(cors.Config{
85+
AllowOrigins: m.AllowedDomains,
86+
AllowMethods: m.AllowedMethods,
87+
AllowHeaders: m.AllowedHeaders,
88+
ExposeHeaders: m.ExposeHeaders,
89+
AllowCredentials: m.AllowCookies,
90+
MaxAge: time.Duration(m.MaxAge) * time.Second,
91+
AllowWildcard: true,
92+
}))
4993
}
94+
m.log.Info().Msg("cors enabled")
5095
})
5196
}
97+
5298
return nil
5399
}
54100

0 commit comments

Comments
 (0)