func renderHTML(w http.ResponseWriter, r *http.Request, task types.EremeticTask, taskID string) { var templateFile string data := make(map[string]interface{}) funcMap := template.FuncMap{ "ToLower": strings.ToLower, "FormatTime": formatter.FormatTime, } if reflect.DeepEqual(task, (types.EremeticTask{})) { templateFile = "error_404.html" data["TaskID"] = taskID } else { templateFile = "task.html" data = makeMap(task) } source, _ := assets.Asset(fmt.Sprintf("templates/%s", templateFile)) tpl, err := template.New(templateFile).Funcs(funcMap).Parse(string(source)) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) log.Error(err.Error()) return } err = tpl.Execute(w, data) }
func indexHandler(w http.ResponseWriter, r *http.Request) { if strings.Contains(r.Header.Get("Accept"), "text/html") { src, _ := assets.Asset("templates/index.html") tpl, err := template.New("index").Parse(string(src)) if err == nil { tpl.Execute(w, nil) return } log.Error(err.Error()) } w.Header().Set("Content-Type", "application/json; charset=UTF-8") w.WriteHeader(http.StatusNoContent) json.NewEncoder(w).Encode(nil) }