package main import ( "encoding/json" "fmt" "net/http" "strconv" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Println("Running handler...") w.WriteHeader(getResponseCode(r)) w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(map[string]any{}) } func getResponseCode(r *http.Request) int { // If the `force-fail` header is set, get and return its value. 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) return code } } return http.StatusOK } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }