// Package router provides router config package router import ( "time" "modelRT/middleware" "github.com/gin-gonic/gin" ) var measurementLimiter *middleware.Limiter func init() { // set a rate limiter to allow a maximum of 2 requests per second for measurement group api measurementLimiter = middleware.NewLimiter(2, 1*time.Second) } // RegisterRoutes define func of register all routes func RegisterRoutes(engine *gin.Engine, clientToken string) { // use global middlewares engine.Use(middleware.StartTrace()) routeGroup := engine.Group("") registerDiagramRoutes(routeGroup) registerAttrRoutes(routeGroup) registerMeasurementRoutes(routeGroup, middleware.SetTokenMiddleware(clientToken), measurementLimiter.Middleware) registerDataRoutes(routeGroup) registerMonitorRoutes(routeGroup) }