Skip to content

Commit 5ec4b8f

Browse files
feat: add WithBodyDecoder option for custom JSON body decoding
Add a BodyDecoderFunc type and WithBodyDecoder router option that lets consumers customize how JSON request bodies are decoded. The default remains runtime.DecodeJSONBody, so this is fully backward-compatible. Use cases: - Pre-process request bodies before decoding (e.g. strip nulls) - Use a lenient decoder that tolerates schema mismatches - Enrich decode errors with application-specific context The option follows the same pattern as WithErrorHandler and is supported across all router backends.
1 parent f62fd5e commit 5ec4b8f

52 files changed

Lines changed: 848 additions & 159 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

examples/server/beego/api/gen.go

Lines changed: 17 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/chi/api/gen.go

Lines changed: 17 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/config-variations/custom-service-name/types.gen.go

Lines changed: 17 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/config-variations/diff-package-multiple-files/models/adapter.go

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/config-variations/diff-package-multiple-files/models/router.go

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/config-variations/diff-package-single-file/models/adapter.gen.go

Lines changed: 17 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/server/config-variations/no-service/types.gen.go

Lines changed: 17 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)