Browse Source

Agregados handlers y funciones para apagar y encender el server

master
rodley82 4 years ago
parent
commit
c7ea76fb90
  1. 49
      main.go

49
main.go

@ -125,13 +125,60 @@ func powerOffOracleHandler(writer http.ResponseWriter, request *http.Request) {
} }
} }
func powerOnProliant() bool {
cmd := exec.Command("bash", "-c", "./start_proliant.sh")
err := cmd.Run()
if err == nil {
fmt.Println("Starting Proliant command succeeded")
return true
} else {
fmt.Println("Error Starting Proliant", err)
return false
}
}
func powerOffProliant() bool {
cmd := exec.Command("bash", "-c", "./stop_proliant.sh")
err := cmd.Run()
if err == nil {
fmt.Println("Stopping Proliant command succeeded")
return true
} else {
fmt.Println("Error Stopping Proliant", err)
return false
}
}
func powerOnProliantHandler(writer http.ResponseWriter, request *http.Request) {
result := powerOnProliant()
if result == true {
time.Sleep(10 * time.Second)
http.Redirect(writer, request, "/", 302)
} else {
// TODO: Ver como render el error
http.Redirect(writer, request, "/", 302)
}
}
func powerOffProliantHandler(writer http.ResponseWriter, request *http.Request) {
result := powerOffProliant()
if result == true {
time.Sleep(10 * time.Second)
http.Redirect(writer, request, "/", 302)
} else {
// TODO: Ver como render el error
http.Redirect(writer, request, "/", 302)
}
}
func main() { func main() {
loadTemplates() loadTemplates()
http.HandleFunc("/", indexHandler) http.HandleFunc("/", indexHandler)
http.HandleFunc("/power-on-oracle", powerOnOracleHandler) http.HandleFunc("/power-on-oracle", powerOnOracleHandler)
http.HandleFunc("/power-off-oracle", powerOffOracleHandler) http.HandleFunc("/power-off-oracle", powerOffOracleHandler)
http.HandleFunc("/power-on-proliant", powerOnProliantHandler)
http.HandleFunc("/power-off-proliant", powerOffProliantHandler)
err := http.ListenAndServe(":5001", nil) err := http.ListenAndServe(":5001", nil)
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)

Loading…
Cancel
Save