mirror of
https://github.com/tuxdotrs/trok.git
synced 2025-07-06 11:56:34 +05:30
42 lines
715 B
Go
42 lines
715 B
Go
package server
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/fiber/v2/middleware/filesystem"
|
|
"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,
|
|
}))
|
|
|
|
t.app.Listen(t.addr)
|
|
}
|
|
|
|
func (t *TrokWeb) Stop() {
|
|
t.app.Shutdown()
|
|
}
|