func connect(rpc *duplex.RPC, path string, backend bool) (*duplex.Peer, error) { var baseUrl, token, secret, url string if os.Getenv("HUB_URL") != "" { baseUrl = os.Getenv("HUB_URL") } else { baseUrl = "ws://localhost:8080" } if os.Getenv("SECRET") != "" { secret = os.Getenv("SECRET") } else { secret = "test" } if backend { if os.Getenv("TOKEN") != "" { token = os.Getenv("TOKEN") } else { token = "dev" } url = fmt.Sprintf("%s%s?token=%s&secret=%s", baseUrl, path, token, secret) } else { url = fmt.Sprintf("%s%s?secret=%s", baseUrl, path, secret) } ws, err := websocket.Dial(url, "", "http://example.com") if err != nil { return nil, err } return rpc.Handshake(ws) }
// This example demonstrates a trivial client. func ExampleDial() { origin := "http://localhost/" url := "ws://localhost:12345/ws" ws, err := websocket.Dial(url, "", origin) if err != nil { log.Fatal(err) } if _, err := ws.Write([]byte("hello, world!\n")); err != nil { log.Fatal(err) } var msg = make([]byte, 512) var n int if n, err = ws.Read(msg); err != nil { log.Fatal(err) } fmt.Printf("Received: %s.\n", msg[:n]) }