registry/internal/api/handlers/v0
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Radoslav Dimitrov 7a4216c528
refactor: rename readBody to readErrorBody and cap body size (#1246)
## Summary

Follow-up to #1241. Two small tweaks to the `readBody` helper:

- **Rename `readBody` → `readErrorBody`.** The helper is only ever
called on the error path (after a non-2xx status check), where we want a
small string for diagnostics. The generic name made it look reusable on
the success path, where streaming JSON decoding is the right approach.
The new name pins the intended use down.
- **Cap the read with `io.LimitReader` (8 KiB).** Defense in depth —
error diagnostics never need more than a few KB, and we shouldn't buffer
an arbitrarily large body from an upstream just to format an error
message. 8 KiB is well above any realistic GitHub API or JWKS error
response.

No behavior change on the happy path. On the unhappy path, error
messages are now bounded.

## Test plan

- [x] `go build ./...`
- [x] `go test ./internal/api/handlers/v0/auth/...`

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-04 07:09:57 -04:00
..
auth refactor: rename readBody to readErrorBody and cap body size (#1246) 2026-05-04 07:09:57 -04:00
edit.go security: fix open redirect and add small hardening (#1227) 2026-04-29 19:14:00 -04:00
edit_test.go Publisher-managed "deleted" support (#893) 2026-02-27 09:00:07 -08:00
health.go Replace / with - for operation IDs (#660) 2025-10-14 15:26:43 +03:00
health_test.go Introduce v0.1 version of the API (#658) 2025-10-14 11:04:48 +03:00
ping.go Replace / with - for operation IDs (#660) 2025-10-14 15:26:43 +03:00
ping_test.go Introduce v0.1 version of the API (#658) 2025-10-14 11:04:48 +03:00
publish.go Added /validate endpoint and modified mcp-publish so that all validation happens there (#896) 2026-02-04 15:52:07 +02:00
publish_integration_test.go Make Repository field properly optional in server.json (#717) 2025-10-29 13:23:47 +00:00
publish_registry_validation_test.go Introduce v0.1 version of the API (#658) 2025-10-14 11:04:48 +03:00
publish_test.go Added /validate endpoint and modified mcp-publish so that all validation happens there (#896) 2026-02-04 15:52:07 +02:00
response.go auth: New auth flow (#273) 2025-08-15 13:03:35 +01:00
servers.go security: fix open redirect and add small hardening (#1227) 2026-04-29 19:14:00 -04:00
servers_test.go Publisher-managed "deleted" support (#893) 2026-02-27 09:00:07 -08:00
status.go security: fix open redirect and add small hardening (#1227) 2026-04-29 19:14:00 -04:00
status_test.go Publisher-managed "deleted" support (#893) 2026-02-27 09:00:07 -08:00
telemetry_test.go Make Repository field properly optional in server.json (#717) 2025-10-29 13:23:47 +00:00
ui.go Add simple web UI for browsing the registry (#757) 2025-11-10 12:37:36 +00:00
ui_index.html Default to the local registry in the UI (#799) 2025-12-16 21:59:39 +00:00
validate.go Added /validate endpoint and modified mcp-publish so that all validation happens there (#896) 2026-02-04 15:52:07 +02:00
validate_test.go Added /validate endpoint and modified mcp-publish so that all validation happens there (#896) 2026-02-04 15:52:07 +02:00
version.go Introduce a /version API (#667) 2025-10-15 17:24:46 +03:00
version_test.go Introduce a /version API (#667) 2025-10-15 17:24:46 +03:00