helpers.go 607 B

1234567891011121314151617181920212223242526272829
  1. package httpapi
  2. import (
  3. "encoding/json"
  4. "log"
  5. "net/http"
  6. )
  7. type errorBody struct {
  8. Error struct {
  9. Code string `json:"code"`
  10. Message string `json:"message"`
  11. } `json:"error"`
  12. }
  13. func writeJSON(w http.ResponseWriter, status int, v any) {
  14. w.Header().Set("Content-Type", "application/json")
  15. w.WriteHeader(status)
  16. if err := json.NewEncoder(w).Encode(v); err != nil {
  17. log.Printf("encode response failed: %v", err)
  18. }
  19. }
  20. func writeError(w http.ResponseWriter, status int, code string, message string) {
  21. var b errorBody
  22. b.Error.Code = code
  23. b.Error.Message = message
  24. writeJSON(w, status, b)
  25. }