func main() { flag.Parse() common.Info("initializing metric http endpoint") connector, err := common.BuildRabbitMQConnector(*rabbitHost, *rabbitPort, *rabbitUser, *rabbitPassword, *rabbitExchange) if err != nil { log.Fatalln("error", err) } bindTo := fmt.Sprintf(":%d", *serverPort) common.Info("binding to:", bindTo) service := metricsService{connector: connector} gin.SetMode(gin.ReleaseMode) r := gin.New() r.Use(gin.Recovery()) r.POST("/metrics", service.createMetric) r.GET("/debug/vars", expvar.Handler()) if err := r.Run(bindTo); err != nil { log.Fatalln(err) } }
func (d *Daemon) SetRoutes() { d.Engine.GET("/websocket", websocket.GetWS) d.Engine.GET("/debug/vars", expvar.Handler()) d.Engine.GET("/groups", groups.ControllerGetGroups) allGroupRouter := d.Engine.Group("/groups/") { allGroupRouter.GET("", groups.ControllerGetGroups) oneGroupRouter := allGroupRouter.Group("/:group") { oneGroupRouter.GET("", groups.ControllerGetGroup) oneGroupRouter.POST("", groups.ControllerPostGroup) oneGroupRouter.DELETE("", groups.ControllerDeleteGroup) oneGroupConnectorRouter := oneGroupRouter.Group("/connectors") { oneGroupConnectorRouter.GET("", connectors.ControllerGetConnectors) oneGroupConnectorRouter.GET("/:connector", connectors.ControllerGetConnector) oneGroupConnectorRouter.POST("/:connector", connectors.ControllerCreateConnector) oneGroupConnectorRouter.GET("/:connector/refresh", connectors.ControllerExecConnector) oneGroupConnectorRouter.GET("/:connector/result", connectors.ControllerGetConnectorResult) oneGroupConnectorRouter.GET("/:connector/exec", connectors.ControllerGetConnectorExecutor) } } } }
//Setup gin Engine server func initGin(ginEngine *gin.Engine) { ginEngine.Use(logrusLogger()) ginEngine.POST("/assignment", putAssignment) ginEngine.POST("/submission", putSubmission) ginEngine.GET("/plugin/langs", getSupportedLangs) ginEngine.GET("/debug/vars", expvarGin.Handler()) ginEngine.GET("/health", healthCheck) }