github.com/Cloud-Foundations/Dominator@v0.3.4/imageserver/httpd/status.go (about)

     1  package httpd
     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 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>imageserver status page</title>")
    21  	fmt.Fprintln(writer, "<body>")
    22  	fmt.Fprintln(writer, "<center>")
    23  	fmt.Fprintln(writer, "<h1>imageserver status page</h1>")
    24  	if !srpc.CheckTlsRequired() {
    25  		fmt.Fprintln(writer,
    26  			`<h1><font color="red">Running in insecure mode. Your images can be pwned!!!</font></h1>`)
    27  	}
    28  	fmt.Fprintln(writer, "</center>")
    29  	html.WriteHeaderWithRequestNoGC(writer, req)
    30  	fmt.Fprintln(writer, "<h3>")
    31  	for _, htmlWriter := range htmlWriters {
    32  		htmlWriter.WriteHtml(writer)
    33  	}
    34  	fmt.Fprintln(writer, "</h3>")
    35  	fmt.Fprintln(writer, "<hr>")
    36  	html.WriteFooter(writer)
    37  	bd.Write(writer)
    38  	fmt.Fprintln(writer, "</body>")
    39  }