diff --git a/pkg/service/handlers/handlers_proxy.go b/pkg/service/handlers/handlers_catchall.go similarity index 84% rename from pkg/service/handlers/handlers_proxy.go rename to pkg/service/handlers/handlers_catchall.go index 0ff00ba..486de43 100644 --- a/pkg/service/handlers/handlers_proxy.go +++ b/pkg/service/handlers/handlers_catchall.go @@ -9,9 +9,9 @@ import ( // HandleNotFound handles requests that don't match any route. // It always logs [UNHANDLED] so unimplemented endpoints are visible in plain output. -// When proxyLogBody is enabled it also logs the request body (truncated to 512 bytes). +// When logBodies is enabled it also logs the request body (truncated to 512 bytes). func (s *Server) HandleNotFound(w http.ResponseWriter, r *http.Request) { - if s.proxyLogBody && r.Body != nil { + if s.logBodies && r.Body != nil { body, _ := io.ReadAll(r.Body) r.Body = io.NopCloser(bytes.NewBuffer(body)) diff --git a/pkg/service/handlers/handlers_proxy_test.go b/pkg/service/handlers/handlers_catchall_test.go similarity index 87% rename from pkg/service/handlers/handlers_proxy_test.go rename to pkg/service/handlers/handlers_catchall_test.go index 8d1015b..dc32cb4 100644 --- a/pkg/service/handlers/handlers_proxy_test.go +++ b/pkg/service/handlers/handlers_catchall_test.go @@ -39,7 +39,7 @@ func TestHandleNotFound_UnhandledLogging(t *testing.T) { } }) - t.Run("includes body in log when proxyLogBody is true", func(t *testing.T) { + t.Run("includes body in log when logBodies is true", func(t *testing.T) { ds := datastore.NewDataStore(t.TempDir()) server := NewServer(ds, nil, "http://localhost", false, true, false) @@ -50,11 +50,11 @@ func TestHandleNotFound_UnhandledLogging(t *testing.T) { }) if !strings.Contains(logged, "") { - t.Errorf("expected body in log when proxyLogBody=true, got: %s", logged) + t.Errorf("expected body in log when logBodies=true, got: %s", logged) } }) - t.Run("omits body from log when proxyLogBody is false", func(t *testing.T) { + t.Run("omits body from log when logBodies is false", func(t *testing.T) { ds := datastore.NewDataStore(t.TempDir()) server := NewServer(ds, nil, "http://localhost", false, false, false) @@ -65,7 +65,7 @@ func TestHandleNotFound_UnhandledLogging(t *testing.T) { }) if strings.Contains(logged, "") { - t.Errorf("expected body omitted when proxyLogBody=false, got: %s", logged) + t.Errorf("expected body omitted when logBodies=false, got: %s", logged) } if !strings.Contains(logged, "[UNHANDLED]") { t.Errorf("expected [UNHANDLED] even without body, got: %s", logged) diff --git a/pkg/service/handlers/handlers_setup.go b/pkg/service/handlers/handlers_setup.go index f0c3b27..7bbf927 100644 --- a/pkg/service/handlers/handlers_setup.go +++ b/pkg/service/handlers/handlers_setup.go @@ -154,7 +154,7 @@ func (s *Server) HandleGetSettings(w http.ResponseWriter, _ *http.Request) { dnsUpstream := s.dnsUpstream dnsBindAddr := s.dnsBindAddr internalPaths := s.internalPaths - redact, logBody, record := s.proxyRedact, s.proxyLogBody, s.recordEnabled + redact, logBody, record := s.redactLogs, s.logBodies, s.recordEnabled shortcuts := s.shortcuts spotifyConfigured := s.spotifyService != nil spotifyClientID := s.spotifyClientID @@ -317,8 +317,8 @@ func (s *Server) HandleUpdateSettings(w http.ResponseWriter, r *http.Request) { // Persist to datastore // Access fields directly since we already hold the lock - currentRedact := s.proxyRedact - currentLogBody := s.proxyLogBody + currentRedact := s.redactLogs + currentLogBody := s.logBodies currentRecord := s.recordEnabled currentHTTPS := s.httpsServerURL @@ -880,8 +880,8 @@ func (s *Server) HandleUpdateProxySettings(w http.ResponseWriter, r *http.Reques } s.mu.Lock() - s.proxyRedact = settings.Redact - s.proxyLogBody = settings.LogBody + s.redactLogs = settings.Redact + s.logBodies = settings.LogBody s.recordEnabled = settings.Record if s.recorder != nil { @@ -898,8 +898,8 @@ func (s *Server) HandleUpdateProxySettings(w http.ResponseWriter, r *http.Reques err := s.ds.SaveSettings(datastore.Settings{ ServerURL: serverURL, HTTPServerURL: httpsServerURL, - RedactLogs: s.proxyRedact, - LogBodies: s.proxyLogBody, + RedactLogs: s.redactLogs, + LogBodies: s.logBodies, RecordInteractions: s.recordEnabled, DiscoveryInterval: discoveryInterval, DiscoveryEnabled: discoveryEnabled, diff --git a/pkg/service/handlers/handlers_setup_test.go b/pkg/service/handlers/handlers_setup_test.go index c3c8e1e..f766d0e 100644 --- a/pkg/service/handlers/handlers_setup_test.go +++ b/pkg/service/handlers/handlers_setup_test.go @@ -33,8 +33,8 @@ func TestProxySettingsAPI(t *testing.T) { defer ts.Close() // Initial State - server.proxyRedact = true - server.proxyLogBody = false + server.redactLogs = true + server.logBodies = false // 1. Test GET res, err := http.Get(ts.URL + "/setup/proxy-settings") @@ -80,8 +80,8 @@ func TestProxySettingsAPI(t *testing.T) { } // Verify server state - if server.proxyRedact != false || server.proxyLogBody != true { - t.Errorf("POST: Server state did not update: redact=%v, logBody=%v", server.proxyRedact, server.proxyLogBody) + if server.redactLogs != false || server.logBodies != true { + t.Errorf("POST: Server state did not update: redact=%v, logBody=%v", server.redactLogs, server.logBodies) } res, err = http.Get(ts.URL + "/setup/proxy-settings") diff --git a/pkg/service/handlers/server.go b/pkg/service/handlers/server.go index be9a3ed..f4bf01c 100644 --- a/pkg/service/handlers/server.go +++ b/pkg/service/handlers/server.go @@ -35,8 +35,8 @@ type Server struct { serverURL string httpsServerURL string discovering bool - proxyRedact bool - proxyLogBody bool + redactLogs bool + logBodies bool recordEnabled bool discoveryInterval time.Duration discoveryEnabled bool @@ -86,13 +86,13 @@ var bufferPool = sync.Pool{ } // NewServer creates a new SoundTouch service server. -func NewServer(ds *datastore.DataStore, sm *setup.Manager, serverURL string, proxyRedact, proxyLogBody, recordEnabled bool) *Server { +func NewServer(ds *datastore.DataStore, sm *setup.Manager, serverURL string, redactLogs, logBodies, recordEnabled bool) *Server { s := &Server{ ds: ds, sm: sm, serverURL: serverURL, - proxyRedact: proxyRedact, - proxyLogBody: proxyLogBody, + redactLogs: redactLogs, + logBodies: logBodies, recordEnabled: recordEnabled, discoveryInterval: 5 * time.Minute, discoveryEnabled: true, @@ -390,7 +390,7 @@ func (s *Server) SetRecorder(r *proxy.Recorder) { s.recorder = r if r != nil { - r.Redact = s.proxyRedact + r.Redact = s.redactLogs } } @@ -568,7 +568,7 @@ func (s *Server) GetProxySettings() (bool, bool, bool) { s.mu.RLock() defer s.mu.RUnlock() - return s.proxyRedact, s.proxyLogBody, s.recordEnabled + return s.redactLogs, s.logBodies, s.recordEnabled } // DiscoverDevices starts a background device discovery process.