From 6ece13f9ab70d89d68b0d0c9c9feefe68d7b1c25 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 19 Dec 2016 00:48:27 +0700 Subject: [PATCH] add a better example client --- example/client/client.go | 23 ---------------------- example/client/main.go | 41 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 23 deletions(-) delete mode 100644 example/client/client.go create mode 100644 example/client/main.go diff --git a/example/client/client.go b/example/client/client.go deleted file mode 100644 index d6849c10..00000000 --- a/example/client/client.go +++ /dev/null @@ -1,23 +0,0 @@ -package main - -import ( - quic "github.com/lucas-clemente/quic-go" - "github.com/lucas-clemente/quic-go/utils" -) - -func main() { - addr := "https://quic.clemente.io:6121" - - utils.SetLogLevel(utils.LogLevelDebug) - - client, err := quic.NewClient(addr, func(bool) {}, func() error { return nil }) - if err != nil { - panic(err) - } - - err = client.Listen() - defer client.Close(nil) - if err != nil { - panic(err) - } -} diff --git a/example/client/main.go b/example/client/main.go new file mode 100644 index 00000000..3a44da95 --- /dev/null +++ b/example/client/main.go @@ -0,0 +1,41 @@ +package main + +import ( + "flag" + "net/http" + "sync" + + "github.com/lucas-clemente/quic-go/h2quic" + "github.com/lucas-clemente/quic-go/utils" +) + +func main() { + verbose := flag.Bool("v", false, "verbose") + flag.Parse() + urls := flag.Args() + + if *verbose { + utils.SetLogLevel(utils.LogLevelDebug) + } else { + utils.SetLogLevel(utils.LogLevelInfo) + } + + hclient := &http.Client{ + Transport: &h2quic.QuicRoundTripper{}, + } + + var wg sync.WaitGroup + wg.Add(len(urls)) + for _, addr := range urls { + utils.Infof("GET %s", addr) + go func(addr string) { + rsp, err := hclient.Get(addr) + if err != nil { + panic(err) + } + utils.Infof("Got response for %s: %#v", addr, rsp) + wg.Done() + }(addr) + } + wg.Wait() +}