xP: allow setting a fixed WS URI

For reverse proxies.
This commit is contained in:
Přemysl Eric Janouch 2022-09-08 15:13:20 +02:00
parent 8c3ee80b21
commit d7b6967b6f
Signed by: p
GPG Key ID: A0420B94F92B9493

View File

@ -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))