mirror of
https://github.com/tuxdotrs/trok.git
synced 2026-09-19 23:19:03 +05:30
43 lines
799 B
Go
43 lines
799 B
Go
package server
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/fiber/v2/middleware/filesystem"
|
|
"github.com/rs/zerolog/log"
|
|
"github.com/tuxdotrs/trok/internal/web"
|
|
)
|
|
|
|
type TrokWeb struct {
|
|
app *fiber.App
|
|
addr string
|
|
}
|
|
|
|
func NewTrokWeb(addr string) *TrokWeb {
|
|
return &TrokWeb{
|
|
app: fiber.New(),
|
|
addr: addr,
|
|
}
|
|
}
|
|
|
|
func (t *TrokWeb) Start() {
|
|
t.app.Use("/", filesystem.New(filesystem.Config{
|
|
Root: http.FS(web.EmbedDirStatic),
|
|
PathPrefix: "dist",
|
|
Browse: true,
|
|
}))
|
|
|
|
t.app.Use("/assets", filesystem.New(filesystem.Config{
|
|
Root: http.FS(web.EmbedDirStatic),
|
|
PathPrefix: "dist/assets",
|
|
Browse: true,
|
|
}))
|
|
|
|
log.Panic().Err(t.app.Listen(t.addr)).Msg("unable to start trok webserver")
|
|
}
|
|
|
|
func (t *TrokWeb) Stop() {
|
|
t.app.Shutdown()
|
|
}
|