Initial commit

Signed-off-by: Thomas Klaehn <thomas.klaehn@perinet.io>
This commit is contained in:
Thomas Klaehn
2025-09-10 08:39:58 +02:00
commit 35bbcd7a6d
16 changed files with 944 additions and 0 deletions

40
src/main.go Normal file
View File

@@ -0,0 +1,40 @@
package main
import (
"flag"
"log"
"net/http"
apiservice_data "powerswitch/internal/apiservice/data"
apiservice_power "powerswitch/internal/apiservice/power"
apiservice_printer "powerswitch/internal/apiservice/printer"
apiservice_relay "powerswitch/internal/apiservice/relay"
host "periph.io/x/host/v3"
)
var (
logger log.Logger = *log.Default()
)
func init() {
logger.SetFlags(log.Llongfile | log.Ltime)
logger.Println("Starting")
}
func main() {
var webui_path string
flag.StringVar(&webui_path, "w", "../webui", "Specify path to serve the web ui. Default is ../webui")
flag.Parse()
host.Init()
apiservice_data.AddHandler()
apiservice_power.AddHandler()
apiservice_printer.AddHandler()
apiservice_relay.AddHandler()
port := ":5005"
http.Handle("/", http.FileServer(http.Dir(webui_path)))
logger.Fatal(http.ListenAndServe(port, nil))
}