fix(sub): include xhttp mode in extra JSON for karing compatibility (#4365)

- Add mode to buildXhttpExtra() so clients reading xtra param
  (karing, etc.) receive the xhttp mode alongside other bidirectional
  SplitHTTP fields. Previously mode was only a flat URL param and was
  silently dropped when xtra was present.
- Add xhttp case to streamData() to strip acceptProxyProtocol and
  server-only fields (noSSEHeader, scMaxBufferedPosts,
  scStreamUpServerSecs, serverMaxHeaderBytes) from JSON sub configs.
- Sync frontend buildXhttpExtra() with the same mode addition.

Closes #4364
This commit is contained in:
Abdalrahman
2026-05-14 11:02:45 +03:00
committed by GitHub
parent 6bf4a2c4f0
commit 01a7dc807b
3 changed files with 16 additions and 0 deletions

View File

@@ -1025,6 +1025,10 @@ func buildXhttpExtra(xhttp map[string]any) map[string]any {
}
}
if mode, ok := xhttp["mode"].(string); ok && len(mode) > 0 {
extra["mode"] = mode
}
stringFields := []string{
"sessionPlacement", "sessionKey",
"seqPlacement", "seqKey",