From d7b6967b6f16d9d953c2627232ca194ec08da942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Thu, 8 Sep 2022 15:13:20 +0200 Subject: [PATCH] xP: allow setting a fixed WS URI For reverse proxies. --- xP/xP.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/xP/xP.go b/xP/xP.go index b9ab73c..9428501 100644 --- a/xP/xP.go +++ b/xP/xP.go @@ -22,6 +22,7 @@ import ( var ( addressBind string addressConnect string + addressWS string ) func clientToRelay( @@ -163,18 +164,24 @@ func handleDefault(w http.ResponseWriter, r *http.Request) { return } - wsURI := fmt.Sprintf("ws://%s/ws", r.Host) + wsURI := addressWS + if wsURI == "" { + wsURI = fmt.Sprintf("ws://%s/ws", r.Host) + } if err := page.Execute(w, wsURI); err != nil { log.Println("Template execution failed: " + err.Error()) } } func main() { - if len(os.Args) != 3 { - log.Fatalf("usage: %s BIND CONNECT\n", os.Args[0]) + if len(os.Args) < 3 || len(os.Args) > 4 { + log.Fatalf("usage: %s BIND CONNECT [WSURI]\n", os.Args[0]) } addressBind, addressConnect = os.Args[1], os.Args[2] + if len(os.Args) > 3 { + addressWS = os.Args[3] + } http.Handle("/ws", websocket.Handler(handleWebSocket)) http.Handle("/", http.HandlerFunc(handleDefault))