// Websocket debug tool // // Usage: ./websocket-linux-amd64 ws:///rpc // // This tools is intended to support development of the Websocket-based // application programming interface (API) of the Shelly Internet of Things // (IoT) devices. package main import ( "log" "net/url" "os" "os/signal" "github.com/gorilla/websocket" ) func main() { log.SetFlags(0) interrupt := make(chan os.Signal, 1) signal.Notify(interrupt, os.Interrupt) var u url.URL = getURL() log.Printf("connecting to %s", u.String()) c, _, err := websocket.DefaultDialer.Dial(u.String(), nil) if (err != nil) { log.Fatal(err) } defer c.Close() } func getURL() url.URL { if (len(os.Args) != 2) { log.Fatalf("Exactly one argument expected but got %d.", len(os.Args) - 1) } maybeURL, err := url.Parse(os.Args[1]) if (err != nil) { log.Fatalf("Cannot parse given URL: %s", os.Args[1]) } return *maybeURL }