35 lines
513 B
Go
35 lines
513 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"github.com/coder/websocket"
|
|
)
|
|
|
|
func main() {
|
|
ctx, can := signal.NotifyContext(context.Background(), syscall.SIGINT)
|
|
defer can()
|
|
|
|
c, _, err := websocket.Dial(ctx, os.Args[1], &websocket.DialOptions{
|
|
HTTPHeader: map[string][]string{
|
|
"Cookie": []string{"uuid=x"},
|
|
},
|
|
})
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
defer c.CloseNow()
|
|
|
|
for {
|
|
mt, b, err := c.Read(ctx)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
log.Printf("[%s] %s", mt, b)
|
|
}
|
|
}
|