From ccfa3d15272fe552677aec8353a0053807ecec11 Mon Sep 17 00:00:00 2001 From: Rene Nochebuena Guerrero Date: Thu, 21 May 2026 19:32:35 -0600 Subject: [PATCH] =?UTF-8?q?fix(httputil):=20rename=20error=20body=20field?= =?UTF-8?q?=20platformCode=20=E2=86=92=20platform=5Fcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit errorBody() map key corrected from "platformCode" to "platform_code" to match the OpenAPI spec snake_case convention. All HTTP error responses produced by Error(w, err) now emit "platform_code" in the JSON body. PR.md added to .gitignore. Depends on xerrors v1.0.2 (go.mod bumped in follow-up commit after xerrors tag). --- .gitignore | 1 + CHANGELOG.md | 11 +++++++++++ go.mod | 2 +- go.sum | 2 ++ httputil_test.go | 8 ++++---- response.go | 2 +- 6 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 221da82..ae6d551 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ Thumbs.db # VCS files COMMIT.md RELEASE.md +PR.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e854d3..a200f23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ All notable changes to this module will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this module adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.1] - 2026-05-22 + +### Fixed + +- `errorBody` JSON key corrected from `"platformCode"` to `"platform_code"` to + match the OpenAPI spec snake_case convention. All HTTP error responses now + emit `"platform_code"` in the JSON body. +- Dependency `xerrors` bumped to v1.0.2. + +[1.0.1]: https://code.nochebuena.dev/go/httputil/compare/v1.0.0...v1.0.1 + ## [1.0.0] - 2026-05-12 ### Changed diff --git a/go.mod b/go.mod index a8c107b..f328d09 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.26 require ( code.nochebuena.dev/go/valid v1.0.1 - code.nochebuena.dev/go/xerrors v1.0.1 + code.nochebuena.dev/go/xerrors v1.0.2 ) require ( diff --git a/go.sum b/go.sum index 3b036c6..eb9d7ce 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ code.nochebuena.dev/go/valid v1.0.1 h1:8O7uW8ufPk8lZ2EvKmTJpIrp9WsNjRg/KqMTxeTAT code.nochebuena.dev/go/valid v1.0.1/go.mod h1:tSZiKc/108a1hGUnKe/dCg+TfM9HPcrdhZyW4VgCLjU= code.nochebuena.dev/go/xerrors v1.0.1 h1:fgXoabY/ZwxAzaM1sKFf3sbL7ZHWyDxItB/rdbnl0mo= code.nochebuena.dev/go/xerrors v1.0.1/go.mod h1:03MMVfrhaf4XmTMgMrEUFCmuZPGHUCKDitiQvwCuwvY= +code.nochebuena.dev/go/xerrors v1.0.2 h1:PHkn9RXJdvz5fm3n1TCLo2qCzBqBfnQj5/4oF0nEWyk= +code.nochebuena.dev/go/xerrors v1.0.2/go.mod h1:03MMVfrhaf4XmTMgMrEUFCmuZPGHUCKDitiQvwCuwvY= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= diff --git a/httputil_test.go b/httputil_test.go index 33faf8d..8c050ff 100644 --- a/httputil_test.go +++ b/httputil_test.go @@ -248,8 +248,8 @@ func TestError_PlatformCode_IncludedWhenSet(t *testing.T) { t.Errorf("want 404, got %d", rec.Code) } m := decodeMap(t, rec) - if m["platformCode"] != "EMPLOYEE_NOT_FOUND" { - t.Errorf("platformCode: want EMPLOYEE_NOT_FOUND, got %v", m["platformCode"]) + if m["platform_code"] != "EMPLOYEE_NOT_FOUND" { + t.Errorf("platform_code: want EMPLOYEE_NOT_FOUND, got %v", m["platform_code"]) } } @@ -257,8 +257,8 @@ func TestError_PlatformCode_OmittedWhenNotSet(t *testing.T) { rec := httptest.NewRecorder() Error(rec, xerrors.New(xerrors.ErrInternal, "unexpected error")) m := decodeMap(t, rec) - if _, ok := m["platformCode"]; ok { - t.Errorf("platformCode should be absent for errors without a platform code, got %v", m["platformCode"]) + if _, ok := m["platform_code"]; ok { + t.Errorf("platform_code should be absent for errors without a platform code, got %v", m["platform_code"]) } } diff --git a/response.go b/response.go index 41a4be8..07f9020 100644 --- a/response.go +++ b/response.go @@ -45,7 +45,7 @@ func errorBody(code, platformCode, message string, fields map[string]any) map[st "message": message, } if platformCode != "" { - m["platformCode"] = platformCode + m["platform_code"] = platformCode } for k, v := range fields { m[k] = v -- 2.39.5