Konfigurasi HTTP kustom
Secara default, router.Run() memulai server HTTP dasar. Untuk penggunaan produksi, Anda mungkin perlu menyesuaikan timeout, batas header, atau pengaturan TLS. Anda dapat melakukan ini dengan membuat http.Server sendiri dan meneruskan router Gin sebagai Handler.
Penggunaan dasar
Teruskan router Gin langsung ke 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)}Dengan pengaturan server kustom
Buat struct http.Server untuk mengonfigurasi timeout baca/tulis dan opsi lainnya:
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()}Uji coba
curl http://localhost:8080/ping# Output: pong