İçeriğe geç

Özel HTTP yapılandırması

Varsayılan olarak, router.Run() temel bir HTTP sunucusu başlatır. Üretim kullanımı için zaman aşımlarını, başlık limitlerini veya TLS ayarlarını özelleştirmeniz gerekebilir. Bunu, kendi http.Server’ınızı oluşturarak ve Gin yönlendiriciyi Handler olarak geçirerek yapabilirsiniz.

Gin yönlendiriciyi doğrudan http.ListenAndServe’e geçirin:

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

Okuma/yazma zaman aşımlarını ve diğer seçenekleri yapılandırmak için bir http.Server struct’ı oluşturun:

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