| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 
							- package main
 
- import (
 
- 	"flag"
 
- 	"fmt"
 
- 	"github.com/gorilla/websocket"
 
- 	"log"
 
- 	"net/url"
 
- )
 
- var (
 
- 	server = flag.String("server", "", "message pusher address")
 
- 	prefix = flag.String("prefix", "", "your prefix")
 
- 	token  = flag.String("token", "", "the access token")
 
- )
 
- type Verification struct {
 
- 	Prefix string `json:"prefix"`
 
- 	Token  string `json:"token"`
 
- }
 
- func main() {
 
- 	flag.Parse()
 
- 	u := url.URL{Scheme: "ws", Host: *server, Path: "/"}
 
- 	fmt.Printf("Connecting to %s\n", u.String())
 
- 	c, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
 
- 	if err != nil {
 
- 		log.Fatal("Failed to connect server:", err)
 
- 		return
 
- 	}
 
- 	defer c.Close()
 
- 	verification := &Verification{
 
- 		Prefix: *prefix,
 
- 		Token:  *token,
 
- 	}
 
- 	_ = c.WriteJSON(verification)
 
- 	for {
 
- 		var message = new(Message)
 
- 		err = c.ReadJSON(message)
 
- 		if err != nil {
 
- 			log.Println("Error occurred when read message:", err)
 
- 		} else {
 
- 			log.Println("Get new message")
 
- 			Notify(message)
 
- 		}
 
- 	}
 
- }
 
 
  |