Skip to content

Commit 177d8b0

Browse files
committed
docs
1 parent 9eb2955 commit 177d8b0

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,18 @@ func main() {
3939
lim := bwlimit.NewLimiter(100, 0)
4040
defer lim.Stop()
4141

42-
// set the default http transport DialContext
43-
tp := http.DefaultTransport.(*http.Transport)
42+
// clone the default transport so this change is local to this client
43+
tp := http.DefaultTransport.(*http.Transport).Clone()
4444
tp.DialContext = lim.Wrap(nil).DialContext
45+
client := &http.Client{Transport: tp}
4546

4647
// make a request and time it
4748
now := time.Now()
48-
resp, err := http.Get(srv.URL)
49+
resp, err := client.Get(srv.URL)
4950
elapsed := time.Since(now)
5051

5152
if err == nil {
53+
defer resp.Body.Close()
5254
var body []byte
5355
if body, err = io.ReadAll(resp.Body); err == nil {
5456
fmt.Printf("%v %v %q\n", elapsed >= time.Second, lim.Reads.Count.Load() > 100, string(body))

example_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@ func ExampleLimiter_NewLimiter() {
2121
lim := bwlimit.NewLimiter(100, 0)
2222
defer lim.Stop()
2323

24-
// set the default http transport DialContext
25-
tp := http.DefaultTransport.(*http.Transport)
24+
// Clone the default transport so we avoid global side effects.
25+
tp := http.DefaultTransport.(*http.Transport).Clone()
2626
tp.DialContext = lim.Wrap(nil).DialContext
27+
client := &http.Client{Transport: tp}
2728

2829
// make a request and time it
2930
now := time.Now()
30-
resp, err := http.Get(srv.URL)
31+
resp, err := client.Get(srv.URL)
3132
elapsed := time.Since(now)
3233

3334
if err == nil {
35+
defer resp.Body.Close()
3436
var body []byte
3537
if body, err = io.ReadAll(resp.Body); err == nil {
3638
fmt.Printf("%v %v %q\n", elapsed >= time.Second, lim.Reads.Count.Load() > 100, string(body))

0 commit comments

Comments
 (0)