Check for a force-fail header and set it as the

...response code

Signed-off-by: Oliver Davies <oliver@oliverdavies.uk>
This commit is contained in:
Oliver Davies 2025-09-20 23:22:30 +01:00
parent fd6bac6da7
commit df64a01ebe

View file

@ -4,14 +4,27 @@ import (
"encoding/json"
"fmt"
"net/http"
"strconv"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Println("Running handler...")
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
// 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{})
}