package reverseproxy import ( "context" "net/http/httptest" "testing" "github.com/caddyserver/caddy/v2/modules/caddyhttp" ) func TestAddForwardedHeadersNonIP(t *testing.T) { h := Handler{} // Simulate a request with a non-IP remote address (e.g. SCION, abstract socket, or hostname) req := httptest.NewRequest("GET", "/", nil) req.RemoteAddr = "my-weird-network:12345" // Mock the context variables required by Caddy. // We need to inject the variable map manually since we aren't running the full server. vars := map[string]interface{}{ caddyhttp.TrustedProxyVarKey: false, } ctx := context.WithValue(req.Context(), caddyhttp.VarsCtxKey, vars) req = req.WithContext(ctx) // Execute the unexported function err := h.addForwardedHeaders(req) // Expectation: No error should be returned for non-IP addresses. // The function should simply skip the trusted proxy check. if err != nil { t.Errorf("expected no error for non-IP address, got: %v", err) } }