github.com/slayercat/go@v0.0.0-20170428012452-c51559813f61/src/net/http/httptrace/example_test.go (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package httptrace_test 6 7 import ( 8 "fmt" 9 "log" 10 "net/http" 11 "net/http/httptrace" 12 ) 13 14 func Example() { 15 req, _ := http.NewRequest("GET", "http://example.com", nil) 16 trace := &httptrace.ClientTrace{ 17 GotConn: func(connInfo httptrace.GotConnInfo) { 18 fmt.Printf("Got Conn: %+v\n", connInfo) 19 }, 20 DNSDone: func(dnsInfo httptrace.DNSDoneInfo) { 21 fmt.Printf("DNS Info: %+v\n", dnsInfo) 22 }, 23 } 24 req = req.WithContext(httptrace.WithClientTrace(req.Context(), trace)) 25 _, err := http.DefaultTransport.RoundTrip(req) 26 if err != nil { 27 log.Fatal(err) 28 } 29 }