package main import ( "encoding/json" "fmt" "net/http" "strconv" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Println("Running handler...") // If the `force-fail` header is set, get its value and use it as the status // code. if failCode := r.Header.Get("force-fail"); failCode != "" { fmt.Println("`force-fail` header set...") if code, err := strconv.Atoi(failCode); err == nil { fmt.Printf("Setting the response code to %d...", code) w.WriteHeader(code) } } else { w.WriteHeader(http.StatusOK) } w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(map[string]any{}) } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }