From ffaec01809657711f87d11225a207f915977a983 Mon Sep 17 00:00:00 2001 From: Muyao CHEN Date: Thu, 3 Oct 2024 20:53:56 +0200 Subject: [PATCH] feat: add cors middleware --- go.mod | 1 + go.sum | 2 ++ internal/howmuch/howmuch.go | 10 ++++++++++ 3 files changed, 13 insertions(+) diff --git a/go.mod b/go.mod index 9e2dd56..23ca2b0 100644 --- a/go.mod +++ b/go.mod @@ -22,6 +22,7 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fatih/color v1.14.1 // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect + github.com/gin-contrib/cors v1.7.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect diff --git a/go.sum b/go.sum index de7af91..4475d27 100644 --- a/go.sum +++ b/go.sum @@ -19,6 +19,8 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= +github.com/gin-contrib/cors v1.7.2 h1:oLDHxdg8W/XDoN/8zamqk/Drgt4oVZDvaV0YmvVICQw= +github.com/gin-contrib/cors v1.7.2/go.mod h1:SUJVARKgQ40dmrzgXEVxj2m7Ig1v1qIboQkPDTQ9t2E= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU= diff --git a/internal/howmuch/howmuch.go b/internal/howmuch/howmuch.go index e5ff482..01ca733 100644 --- a/internal/howmuch/howmuch.go +++ b/internal/howmuch/howmuch.go @@ -27,7 +27,9 @@ import ( "net/http" "git.vinchent.xyz/vinchent/howmuch/internal/pkg/log" + "git.vinchent.xyz/vinchent/howmuch/internal/pkg/middleware" "git.vinchent.xyz/vinchent/howmuch/pkg/version/verflag" + "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -96,6 +98,14 @@ func run() error { r := gin.Default() + // Middlewares + corsCfg := cors.DefaultConfig() + corsCfg.AllowAllOrigins = true + corsCfg.AllowHeaders = append(corsCfg.AllowHeaders, "Authorization", "Accept", "X-CSRF-Token") + r.Use(cors.New(corsCfg)) + + r.Use(middleware.RequestID()) + r.GET("/", func(ctx *gin.Context) { ctx.JSON(http.StatusOK, gin.H{ "message": "how much?",