|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package main |
|
|
|
|
|
|
|
import ( |
|
|
|
"encoding/json" |
|
|
|
"fmt" |
|
|
|
"html/template" |
|
|
|
"net/http" |
|
|
|
@ -23,17 +24,29 @@ func loadTemplates() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func indexHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
proliantIsAlive := pingServer("server.rodley.net") |
|
|
|
oracleIsAlive := oracleServerUp() |
|
|
|
func indexHandler(w http.ResponseWriter, request *http.Request) { |
|
|
|
if request.URL.Path == "/" { |
|
|
|
proliantIsAlive := pingServer("server.rodley.net") |
|
|
|
oracleIsAlive := oracleServerUp() |
|
|
|
|
|
|
|
statuses := struct { |
|
|
|
ProliantIsAlive bool |
|
|
|
OracleIsAlive bool |
|
|
|
}{ProliantIsAlive: proliantIsAlive, OracleIsAlive: oracleIsAlive} |
|
|
|
statuses := struct { |
|
|
|
ProliantIsAlive bool |
|
|
|
OracleIsAlive bool |
|
|
|
}{ProliantIsAlive: proliantIsAlive, OracleIsAlive: oracleIsAlive} |
|
|
|
|
|
|
|
fmt.Println("Statuses:", statuses) |
|
|
|
templates["index"].Execute(writer, statuses) |
|
|
|
fmt.Println("Statuses:", statuses) |
|
|
|
templates["index"].Execute(w, statuses) |
|
|
|
} else { |
|
|
|
w.WriteHeader(http.StatusNotFound) |
|
|
|
w.Header().Set("Content-Type", "application/json") |
|
|
|
resp := make(map[string]string) |
|
|
|
resp["message"] = "Resource Not Found" |
|
|
|
jsonResp, err := json.Marshal(resp) |
|
|
|
if err != nil { |
|
|
|
fmt.Println("Error happened in JSON marshal", err) |
|
|
|
} |
|
|
|
w.Write(jsonResp) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func pingServer(serverName string) bool { |
|
|
|
@ -94,10 +107,10 @@ func powerOnOracleHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
result := powerOnOracle() |
|
|
|
if result == true { |
|
|
|
time.Sleep(10 * time.Second) |
|
|
|
http.Redirect(writer, request, "/", 301) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} else { |
|
|
|
// TODO: Ver como render el error
|
|
|
|
http.Redirect(writer, request, "/", 301) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -105,10 +118,10 @@ func powerOffOracleHandler(writer http.ResponseWriter, request *http.Request) { |
|
|
|
result := powerOffOracle() |
|
|
|
if result == true { |
|
|
|
time.Sleep(10 * time.Second) |
|
|
|
http.Redirect(writer, request, "/", 301) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} else { |
|
|
|
// TODO: Ver como render el error
|
|
|
|
http.Redirect(writer, request, "/", 301) |
|
|
|
http.Redirect(writer, request, "/", 302) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|