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
5package httptrace_test
6
7import (
8	"fmt"
9	"log"
10	"net/http"
11	"net/http/httptrace"
12)
13
14func 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}
30