openpdu/src/webui/webui.go

43 lines
1.0 KiB
Go
Raw Normal View History

2021-01-09 18:38:57 +00:00
package webui
2020-12-23 09:11:11 +00:00
import (
"net/http"
2021-01-09 18:38:57 +00:00
"git.openpdu.org/OpenPDU/openpdu/syslog"
"github.com/go-macaron/binding"
2020-12-23 09:11:11 +00:00
"github.com/go-macaron/pongo2"
"github.com/spf13/viper"
2020-12-23 09:11:11 +00:00
"gopkg.in/macaron.v1"
)
2021-01-09 18:38:57 +00:00
// Dictionary aaa
type Dictionary map[string]interface{}
func init() {
viper.SetDefault("system.listeningport", 4000)
}
2021-01-09 18:38:57 +00:00
func StartServer() {
2020-12-23 09:11:11 +00:00
m := macaron.Classic()
m.Use(pongo2.Pongoer())
m.Use(macaron.Static("static"))
m.Get("/", statusPage)
m.Get("/outlets", outletsPage)
m.Get("/outlet/:num", outletEditPage)
m.Post("/outlet/:num", binding.Bind(OutletPostForm{}), outletEditPost)
2020-12-28 21:58:08 +00:00
m.Get("/lan", lanPage)
m.Get("/mqtt", mqttPage)
m.Post("/mqtt", binding.Bind(MQTTPostForm{}), mqttPost)
2020-12-27 21:29:16 +00:00
m.Get("/ups", upsPage)
m.Post("/ups", binding.Bind(UPSPostForm{}), upsPost)
2020-12-28 21:58:08 +00:00
m.Get("/syslog", syslogPage)
m.Get("/backup", backupPage)
2021-09-29 15:54:15 +00:00
m.Post("/backup", backupDownload)
2020-12-23 09:11:11 +00:00
m.Get("/json/status", jsonStatus)
m.Post("/json/outlet/:id/toggle", jsonOutletToggle)
2021-01-09 18:38:57 +00:00
syslog.Info("Web interface ready")
http.ListenAndServe("0.0.0.0:"+viper.GetString("system.listeningport"), m)
2020-12-23 09:11:11 +00:00
}