github.com/aliyun/credentials-go@v1.4.7/credentials/utils/runtime.go (about) 1 package utils 2 3 import ( 4 "context" 5 "net" 6 "time" 7 ) 8 9 // Runtime is for setting timeout, proxy and host 10 // Deprecated: it was used for internal 11 type Runtime struct { 12 ReadTimeout int 13 ConnectTimeout int 14 Proxy string 15 Host string 16 STSEndpoint string 17 } 18 19 // NewRuntime returns a Runtime 20 // Deprecated: it was used for internal 21 func NewRuntime(readTimeout, connectTimeout int, proxy string, host string) *Runtime { 22 return &Runtime{ 23 ReadTimeout: readTimeout, 24 ConnectTimeout: connectTimeout, 25 Proxy: proxy, 26 Host: host, 27 } 28 } 29 30 // Timeout is for connect Timeout 31 // Deprecated: it was used for internal 32 func Timeout(connectTimeout time.Duration) func(cxt context.Context, net, addr string) (c net.Conn, err error) { 33 return func(ctx context.Context, network, address string) (net.Conn, error) { 34 return (&net.Dialer{ 35 Timeout: connectTimeout, 36 DualStack: true, 37 }).DialContext(ctx, network, address) 38 } 39 }