package httpx import ( "bytes" "encoding/json" "log/slog" "net/http" "net/http/httptest" "strings" "testing" ) func TestWriteSanitizesInternalAndKeepsLegacyCode(t *testing.T) { rec := httptest.NewRecorder() Write(rec, http.StatusInternalServerError, CodeINTERNAL, "pq: relation foo leaked /home/weichen/secret", "req_test", nil) var env Envelope if err := json.Unmarshal(rec.Body.Bytes(), &env); err != nil { t.Fatal(err) } if env.Code != CodeINTERNAL || env.RequestID != "req_test" { t.Fatalf("%+v", env) } if strings.Contains(rec.Body.String(), "pq:") || strings.Contains(rec.Body.String(), "/home/") { t.Fatalf("leaked: %s", rec.Body.String()) } if env.Error != CodeINTERNAL { t.Fatalf("legacy error=%s", env.Error) } } func TestWriteKeepsStablePublicErrorCode(t *testing.T) { rec := httptest.NewRecorder() Write(rec, http.StatusForbidden, CodeAUTHZ, "ERR_FORBIDDEN", "req_2", nil) var env Envelope _ = json.Unmarshal(rec.Body.Bytes(), &env) if env.Error != "ERR_FORBIDDEN" || env.Code != CodeAUTHZ { t.Fatalf("%+v", env) } if strings.Contains(rec.Body.String(), "alert(1)", "req_3", nil) if strings.Contains(rec.Body.String(), "