Lewati ke konten

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.

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)
}

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()
}
Terminal window
curl http://localhost:8080/ping
# Output: pong