Configuração HTTP customizada
Por padrão, router.Run() inicia um servidor HTTP básico. Para uso em produção, você pode precisar customizar timeouts, limites de headers ou configurações TLS. Você pode fazer isso criando seu próprio http.Server e passando o router do Gin como o Handler.
Uso básico
Seção intitulada “Uso básico”Passe o router do Gin diretamente para http.ListenAndServe:
package main
import ( "net/http"
"github.com/gin-gonic/gin")
func main() { router := gin.Default()
router.GET("/ping", func(c *gin.Context) { c.String(http.StatusOK, "pong") })
http.ListenAndServe(":8080", router)}Com configurações de servidor customizadas
Seção intitulada “Com configurações de servidor customizadas”Crie uma struct http.Server para configurar timeouts de leitura/escrita e outras opções:
package main
import ( "net/http" "time"
"github.com/gin-gonic/gin")
func main() { router := gin.Default()
router.GET("/ping", func(c *gin.Context) { c.String(http.StatusOK, "pong") })
s := &http.Server{ Addr: ":8080", Handler: router, ReadTimeout: 10 * time.Second, WriteTimeout: 10 * time.Second, MaxHeaderBytes: 1 << 20, } s.ListenAndServe()}curl http://localhost:8080/ping# Output: pong