Impostare CORS in Gin

Mattepuffo's logo
Impostare CORS in Gin

Impostare CORS in Gin

Per impostazione predefinita Gin Gonic blocca le chiamate da server esterni.

E' comunque possibile impostare CORS attraverso una libreria apposita.

In questo articolo vediamo come fare.

Prima di tutto installiamola:

go get github.com/gin-contrib/cors

Qui sotto il codice:

package main

import (
	"fmt"
	"os"

	"github.com/gin-contrib/cors"
	"github.com/gin-gonic/gin"
)

func main() {
	router := gin.Default()
	router.SetTrustedProxies(nil)

	config := cors.DefaultConfig()
	config.AllowAllOrigins = true
	config.AllowMethods = []string{"POST", "GET", "PUT", "OPTIONS"}
	config.AllowHeaders = []string{"Origin", "Content-Type", "Authorization", "Accept", "User-Agent", "Cache-Control", "Pragma"}
	config.ExposeHeaders = []string{"Content-Length"}
	config.AllowCredentials = true

	router.Use(cors.New(config))

	// OTHER STUFF

	port := os.Getenv("PORT")
	if port == "" {
		port = "8080"
	}

	fmt.Println("Server in asolto su http://localhost:" + port)

	if err := router.Run(":" + port); err != nil {
		os.Exit(1)
	}
}

In questo caso ho sbloccato tutto.

Il codice è in produzione e quindi testato.

Enjoy!


Condividi

Commentami!