70 lines
1.2 KiB
Go
70 lines
1.2 KiB
Go
|
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"})
|
||
|
}
|