30 lines
806 B
Go
30 lines
806 B
Go
// 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)
|
|
}
|