miniwol/web/wake.go

31 lines
564 B
Go

package web
import (
"fmt"
"miniwol/config"
"miniwol/lib"
"net/http"
"strings"
)
func wake(w http.ResponseWriter, r *http.Request) {
if checkAuthentication(w, r) != nil {
return
}
for i, device := range config.Config.Device {
if r.FormValue("alias") == device.Alias && r.FormValue("index") == fmt.Sprint(i) {
if !strings.Contains(device.IP, ":") {
device.IP += ":9"
}
err := lib.SendPacket(":0", device.IP, device.MAC)
if err != nil {
panic(err)
}
w.Write([]byte("Successfuly woke up " + device.Alias))
return
}
}
}