diff options
Diffstat (limited to 'server/server.go')
| -rw-r--r-- | server/server.go | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/server/server.go b/server/server.go index 065bf0b..3319088 100644 --- a/server/server.go +++ b/server/server.go @@ -78,8 +78,7 @@ func (h HumidityHandler) post(w http.ResponseWriter, r *http.Request) { queryVals, err := parseQuery(r.URL.RawQuery, []string{"room", "humidity"}) if err != nil { log.Println(err) - w.WriteHeader(http.StatusBadRequest) - fmt.Fprintf(w, "invalid query: %v", err) + badRequest(w, "invalid query: %v", err) return } room := RoomID(queryVals["room"]) @@ -88,16 +87,14 @@ func (h HumidityHandler) post(w http.ResponseWriter, r *http.Request) { humidity, err := strconv.ParseFloat(humidityStr, 32) if err != nil { log.Println("Warning: invalid humidity:", err) - w.WriteHeader(http.StatusBadRequest) - fmt.Fprintf(w, "invalid humidity: '%s'", humidityStr) + badRequest(w, "invalid humidity: '%s'", humidityStr) return } record, ok := h.rooms[room] if !ok { log.Println("Warning: invalid room:", room) - w.WriteHeader(http.StatusBadRequest) - fmt.Fprintf(w, "invalid room ID: '%s'", room) + badRequest(w, "invalid room ID: '%s'", room) return } @@ -147,8 +144,7 @@ func (h *TargetHumidityHandler) get(w http.ResponseWriter, r *http.Request) { func (h *TargetHumidityHandler) post(w http.ResponseWriter, r *http.Request) { target, err := strconv.ParseFloat(r.URL.RawQuery, 32) if err != nil { - w.WriteHeader(http.StatusBadRequest) - fmt.Fprintf(w, "invalid humidity: '%s'", r.URL.RawQuery) + badRequest(w, "invalid humidity: '%s'", r.URL.RawQuery) return } @@ -176,3 +172,8 @@ func parseQuery(query string, keys []string) (map[string]string, error) { } return vals, nil } + +func badRequest(w http.ResponseWriter, format string, a ...any) { + w.WriteHeader(http.StatusBadRequest) + fmt.Fprintf(w, format, a) +} |