diff --git a/cmd/agent/agent.go b/cmd/agent/agent.go index 39752c1..3cf05e0 100755 --- a/cmd/agent/agent.go +++ b/cmd/agent/agent.go @@ -222,9 +222,17 @@ func main() { if len(args) != 1 { printHelp("") } - validateString(args[0], "wsUrl", `^wss?://[a-zA-Z0-9]*(:[0-9]+)?$`) - wsURL := args[0] + "/agent/" + id + wsURL := args[0] + url, err := url.Parse(wsURL) + if err != nil { + printHelp(fmt.Sprintf("Invalid URL %s", wsURL)) + } + if url.Path != "" && url.Path != "/" { + printHelp(fmt.Sprintf("Only a base URL without path may be specified: %s", wsURL)) + } + + wsURL += "/agent/" + id dialer := websocket.Dialer{ Proxy: http.ProxyFromEnvironment,