Browse Source

Corregido redirect response y ahora responde not found para requests que no son exactamente para el index

master
rodley82 4 years ago
parent
commit
ebd9e3d4a9
  1. 39
      main.go

39
main.go

@ -1,6 +1,7 @@
package main package main
import ( import (
"encoding/json"
"fmt" "fmt"
"html/template" "html/template"
"net/http" "net/http"
@ -23,17 +24,29 @@ func loadTemplates() {
} }
} }
func indexHandler(writer http.ResponseWriter, request *http.Request) { func indexHandler(w http.ResponseWriter, request *http.Request) {
proliantIsAlive := pingServer("server.rodley.net") if request.URL.Path == "/" {
oracleIsAlive := oracleServerUp() proliantIsAlive := pingServer("server.rodley.net")
oracleIsAlive := oracleServerUp()
statuses := struct { statuses := struct {
ProliantIsAlive bool ProliantIsAlive bool
OracleIsAlive bool OracleIsAlive bool
}{ProliantIsAlive: proliantIsAlive, OracleIsAlive: oracleIsAlive} }{ProliantIsAlive: proliantIsAlive, OracleIsAlive: oracleIsAlive}
fmt.Println("Statuses:", statuses) fmt.Println("Statuses:", statuses)
templates["index"].Execute(writer, 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 { func pingServer(serverName string) bool {
@ -94,10 +107,10 @@ func powerOnOracleHandler(writer http.ResponseWriter, request *http.Request) {
result := powerOnOracle() result := powerOnOracle()
if result == true { if result == true {
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
http.Redirect(writer, request, "/", 301) http.Redirect(writer, request, "/", 302)
} else { } else {
// TODO: Ver como render el error // 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() result := powerOffOracle()
if result == true { if result == true {
time.Sleep(10 * time.Second) time.Sleep(10 * time.Second)
http.Redirect(writer, request, "/", 301) http.Redirect(writer, request, "/", 302)
} else { } else {
// TODO: Ver como render el error // TODO: Ver como render el error
http.Redirect(writer, request, "/", 301) http.Redirect(writer, request, "/", 302)
} }
} }

Loading…
Cancel
Save