Priority/backend.light/http.go

70 lines
1.2 KiB
Go
Raw Normal View History

2024-01-10 16:41:16 +01:00
package main
import (
"os"
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
)
type App struct {
Engine *gin.Engine
Stream *SseStream
}
func InitHttp() *App {
app := &App{
Engine: nil,
Stream: nil,
}
app.Stream = InitSse()
app.Engine = gin.Default()
app.Engine.Use(cors.Default())
app.RegisterWebRoutes()
app.RegisterApiRoutes()
return app
}
func (app *App) Run() {
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
app.Engine.Run(":" + port)
}
func (app *App) RegisterWebRoutes() {
display_h := app.Engine.Group("/display-h")
display_h.Static("/", "./static/display-h")
display_v := app.Engine.Group("/display-v")
display_v.Static("/", "./static/display-v")
display_m := app.Engine.Group("/display-m")
display_m.Static("/", "./static/display-m")
priority := app.Engine.Group("/priority")
priority.Static("/", "./static/priority")
sapp := app.Engine.Group("/_app")
sapp.Static("/", "./static/_app")
static := app.Engine.Group("/static")
static.Static("/", "./static/static")
app.Engine.StaticFile("/", "./static/index.html")
app.Engine.StaticFile("/favicon.png", "./static/favicon.png")
app.Engine.ForwardedByClientIP = true
app.Engine.SetTrustedProxies([]string{"127.0.0.1"})
}