gin/examples/realtime-advanced/main.go

42 lines
714 B
Go
Raw Normal View History

2015-05-13 00:35:16 +00:00
package main
import (
2015-05-13 14:44:44 +00:00
"fmt"
"runtime"
2015-05-13 00:35:16 +00:00
"github.com/gin-gonic/gin"
2015-05-13 14:44:44 +00:00
"github.com/manucorporat/stats"
2015-05-13 00:35:16 +00:00
)
2015-05-13 14:44:44 +00:00
var messages = stats.New()
2015-05-13 00:35:16 +00:00
func main() {
2015-05-13 18:54:54 +00:00
ConfigRuntime()
StartWorkers()
StartGin()
}
func ConfigRuntime() {
2015-05-13 14:44:44 +00:00
nuCPU := runtime.NumCPU()
runtime.GOMAXPROCS(nuCPU)
fmt.Printf("Running with %d CPUs\n", nuCPU)
2015-05-13 18:54:54 +00:00
}
2015-05-13 14:44:44 +00:00
2015-05-13 18:54:54 +00:00
func StartWorkers() {
go statsWorker()
}
2015-05-13 14:44:44 +00:00
2015-05-13 18:54:54 +00:00
func StartGin() {
gin.SetMode(gin.ReleaseMode)
2015-05-13 01:19:44 +00:00
2015-05-13 18:54:54 +00:00
router := gin.Default()
2015-05-13 00:35:16 +00:00
router.LoadHTMLGlob("resources/*.templ.html")
router.Static("/static", "resources/static")
router.GET("/", index)
router.GET("/room/:roomid", roomGET)
router.POST("/room-post/:roomid", roomPOST)
2015-05-13 00:35:16 +00:00
router.GET("/stream/:roomid", streamRoom)
2015-05-13 14:44:44 +00:00
router.Run("127.0.0.1:8080")
2015-05-13 00:35:16 +00:00
}