github.com/Cloud-Foundations/Dominator@v0.3.4/dom/herd/status.go (about) 1 package herd 2 3 import ( 4 "bufio" 5 "fmt" 6 "net/http" 7 8 "github.com/Cloud-Foundations/Dominator/lib/html" 9 "github.com/Cloud-Foundations/Dominator/lib/srpc" 10 ) 11 12 func (herd *Herd) statusHandler(w http.ResponseWriter, req *http.Request) { 13 if req.URL.Path != "/" { 14 http.NotFound(w, req) 15 return 16 } 17 bd, _ := html.CreateBenchmarkData() 18 writer := bufio.NewWriter(w) 19 defer writer.Flush() 20 fmt.Fprintln(writer, "<title>Dominator status page</title>") 21 fmt.Fprintln(writer, "<body>") 22 fmt.Fprintln(writer, "<center>") 23 fmt.Fprintln(writer, "<h1><b>Dominator</b> status page</h1>") 24 if !srpc.CheckTlsRequired() { 25 fmt.Fprintln(writer, 26 `<h1><font color="red">Running in insecure mode. You can get pwned!!!</font></h1>`) 27 } 28 fmt.Fprintln(writer, "</center>") 29 html.WriteHeaderWithRequestNoGC(writer, req) 30 fmt.Fprintln(writer, "<h3>") 31 herd.writeHtml(writer) 32 for _, htmlWriter := range herd.htmlWriters { 33 htmlWriter.WriteHtml(writer) 34 } 35 fmt.Fprintln(writer, "</h3>") 36 fmt.Fprintln(writer, "<hr>") 37 html.WriteFooter(writer) 38 bd.Write(writer) 39 fmt.Fprintln(writer, "</body>") 40 }