Fix corner cases in protocol detection and connection cleanup

- Fix double-resolve race in probeTS3Query (data event vs connect timer)
  by guarding with a resolved flag
- Fix double-resolve in probeTS6HttpQuery similarly
- Support custom query ports in detectServerProtocol via DetectOptions
- Clean up httpQuery and detectedProtocol on disconnect()
- Add res.on("error") handler in HTTP Query client to avoid unhandled errors
- Improve logging: warn with actionable message when protocol is unknown

https://claude.ai/code/session_016WhH58avUD9xy2dgADJgTh
This commit is contained in:
Claude committed 2026-04-03 13:34:37 +00:00
1 parent e5fd35da32
commit 9e45193e2c
3 files changed
+61 -33

No files matched your search

+1
View File
@@ -82,6 +82,7 @@ export class TS6HttpQuery extends EventEmitter {
let data = "";
res.setEncoding("utf-8");
res.on("data", (chunk: string) => (data += chunk));
res.on("error", reject);
res.on("end", () => {
let parsed: unknown;
try {