package route

import (
	"github.com/gin-gonic/gin"
	"net/http"
	"wireguard-dashboard/web"
)

type Option func(engine *gin.RouterGroup)

var options []Option

func IncludeRouters(opts ...Option) {
	options = append(options, opts...)
}

func InitRouter() *gin.Engine {
	r := gin.New()
	// 开启IP 追踪
	r.ForwardedByClientIP = true
	// 将请求打印至控制台
	r.Use(gin.Logger())

	//r.GET("/", func(c *gin.Context) {
	//	c.Redirect(http.StatusMovedPermanently, "/web/")
	//})

	r.StaticFS("/web", http.FS(web.Static))

	for _, opt := range options {
		opt(r.Group("api"))
	}

	return r
}
