Address second review findings F1-F3 for 404, public URL and listen host
Independent review Approved — 0 high findings (#2)

- F1: return the JSON API error shape for unknown paths (404 not_found)
- F2: require a non-empty hostname in MEALQUEST_PUBLIC_URL
- F3: validate the MEALQUEST_HTTP_ADDR host as an IP address or hostname

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 22:16:08 -04:00
co-authored by Claude Opus 5.5
parent 60555bf8ec
commit 454faea429
4 changed files with 90 additions and 8 deletions
+37
View File
@@ -102,6 +102,43 @@ func TestLoad(t *testing.T) {
env: with(map[string]string{EnvHTTPAddr: ":65536"}),
badVars: []string{EnvHTTPAddr},
},
{
name: "listen address with IP host",
env: with(map[string]string{EnvHTTPAddr: "127.0.0.1:8080"}),
},
{
name: "listen address with IPv6 host",
env: with(map[string]string{EnvHTTPAddr: "[::1]:8080"}),
},
{
name: "listen address with hostname",
env: with(map[string]string{EnvHTTPAddr: "localhost:8080"}),
},
{
name: "listen host with space",
env: with(map[string]string{EnvHTTPAddr: "bad host:8080"}),
badVars: []string{EnvHTTPAddr},
},
{
name: "listen host with leading hyphen label",
env: with(map[string]string{EnvHTTPAddr: "-bad.example.com:8080"}),
badVars: []string{EnvHTTPAddr},
},
{
name: "listen host with empty label",
env: with(map[string]string{EnvHTTPAddr: "bad..example.com:8080"}),
badVars: []string{EnvHTTPAddr},
},
{
name: "listen host with label over 63 chars",
env: with(map[string]string{EnvHTTPAddr: strings.Repeat("a", 64) + ".example.com:8080"}),
badVars: []string{EnvHTTPAddr},
},
{
name: "public URL without hostname",
env: with(map[string]string{EnvPublicURL: "http://:8080"}),
badVars: []string{EnvPublicURL},
},
{
name: "relative public URL",
env: with(map[string]string{EnvPublicURL: "meals.example.com"}),