mirror of
				https://github.com/gin-gonic/gin.git
				synced 2025-11-04 09:12:12 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			677 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			677 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"runtime"
 | 
						|
 | 
						|
	"github.com/gin-gonic/gin"
 | 
						|
)
 | 
						|
 | 
						|
func main() {
 | 
						|
	ConfigRuntime()
 | 
						|
	StartWorkers()
 | 
						|
	StartGin()
 | 
						|
}
 | 
						|
 | 
						|
func ConfigRuntime() {
 | 
						|
	nuCPU := runtime.NumCPU()
 | 
						|
	runtime.GOMAXPROCS(nuCPU)
 | 
						|
	fmt.Printf("Running with %d CPUs\n", nuCPU)
 | 
						|
}
 | 
						|
 | 
						|
func StartWorkers() {
 | 
						|
	go statsWorker()
 | 
						|
}
 | 
						|
 | 
						|
func StartGin() {
 | 
						|
	gin.SetMode(gin.ReleaseMode)
 | 
						|
 | 
						|
	router := gin.New()
 | 
						|
	router.Use(rateLimit, gin.Recovery())
 | 
						|
	router.LoadHTMLGlob("resources/*.templ.html")
 | 
						|
	router.Static("/static", "resources/static")
 | 
						|
	router.GET("/", index)
 | 
						|
	router.GET("/room/:roomid", roomGET)
 | 
						|
	router.POST("/room-post/:roomid", roomPOST)
 | 
						|
	router.GET("/stream/:roomid", streamRoom)
 | 
						|
 | 
						|
	router.Run(":80")
 | 
						|
}
 |