xP: allow setting a fixed WS URI
For reverse proxies.
This commit is contained in:
		
							
								
								
									
										13
									
								
								xP/xP.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								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))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user