mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-08-22 15:33:46 +00:00
The relay client's HTTP proxy dialed http://127.0.0.1:<FrontendPort> for every proxied mobile request. With HTTPS_ENABLED the main listener serves TLS on that port, so Go answered each plaintext dial with a bare "Client sent an HTTP request to an HTTPS server" 400 - breaking Remote Access backlog sync (alerts/approvals) on every HTTPS-enabled instance. A non-loopback BIND_ADDRESS broke the same dial outright. Route proxied requests through the router's own handler chain in-process instead, via a streaming-capable RoundTripper (pipe-backed, SSE flush, panic recovery, loopback RemoteAddr for address-keyed middleware). The listener's scheme and bind address no longer matter, and the request traverses exactly the middleware the real listener serves. Reported by Johannes Strasser (Remote Access thread, 2026-07-14). |
||
|---|---|---|
| .. | ||
| client.go | ||
| client_abrupt_disconnect_test.go | ||
| client_additional_test.go | ||
| client_backoff_test.go | ||
| client_close_race_test.go | ||
| client_drain_inflight_test.go | ||
| client_e2e_test.go | ||
| client_handshake_error_test.go | ||
| client_license_lifecycle_test.go | ||
| client_managed_runtime_test.go | ||
| client_session_resume_test.go | ||
| client_shutdown_test.go | ||
| client_test.go | ||
| config.go | ||
| config_env.go | ||
| config_env_test.go | ||
| config_validation.go | ||
| config_validation_test.go | ||
| encryption.go | ||
| encryption_test.go | ||
| identity.go | ||
| identity_test.go | ||
| local_transport.go | ||
| local_transport_test.go | ||
| protocol.go | ||
| protocol_external_contract_test.go | ||
| protocol_test.go | ||
| proxy.go | ||
| proxy_additional_test.go | ||
| proxy_test.go | ||
| push.go | ||
| push_test.go | ||