package handler import ( "encoding/json" "fmt" "net/http" "runtime" "time" "wnzl-snow/components/views" ) // Home handles the home page. func (h *Handler) Home(w http.ResponseWriter, r *http.Request) { //h.html(r.Context(), w, http.StatusOK, core.HTML("Example Site", home.Home())) // Render the template /* err := home.Home(h.BuildTime, h.SHA1Ver, h.GoVersion).Render(r.Context(), w) if err != nil { http.Error(w, "Failed to render template", http.StatusInternalServerError) } */ info := views.BuildInfo{ BuildTime: h.BuildTime, SHA1Ver: h.SHA1Ver, GoVersion: h.GoVersion, } err := views.Index(info).Render(r.Context(), w) if err != nil { http.Error(w, "Failed to render template", http.StatusInternalServerError) } } // prettyPrint comes from https://gist.github.com/sfate/9d45f6c5405dc4c9bf63bf95fe6d1a7c func prettyPrint(args ...interface{}) { var caller string timeNow := time.Now().Format("01-02-2006 15:04:05") prefix := fmt.Sprintf("[%s] %s -- ", "PrettyPrint", timeNow) _, fileName, fileLine, ok := runtime.Caller(1) if ok { caller = fmt.Sprintf("%s:%d", fileName, fileLine) } else { caller = "" } fmt.Printf("\n%s%s\n", prefix, caller) if len(args) == 2 { label := args[0] value := args[1] s, _ := json.MarshalIndent(value, "", "\t") fmt.Printf("%s%s: %s\n", prefix, label, string(s)) } else { s, _ := json.MarshalIndent(args, "", "\t") fmt.Printf("%s%s\n", prefix, string(s)) } }