go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/r2/opt_disable_keep_alives.go (about) 1 /* 2 3 Copyright (c) 2023 - Present. Will Charczuk. All rights reserved. 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository. 5 6 */ 7 8 package r2 9 10 import "net/http" 11 12 // OptDisableKeepAlives disables keep alives. 13 func OptDisableKeepAlives(disableKeepAlives bool) Option { 14 return func(r *Request) error { 15 if r.client == nil { 16 r.client = &http.Client{} 17 } 18 if r.client.Transport == nil { 19 r.client.Transport = &http.Transport{} 20 } 21 if typed, ok := r.client.Transport.(*http.Transport); ok { 22 typed.DisableKeepAlives = disableKeepAlives 23 } else { 24 return ErrInvalidTransport 25 } 26 return nil 27 } 28 }