@@ -77,10 +77,10 @@ func TestAllHTTPClientSettings(t *testing.T) {
77
77
},
78
78
ReadBufferSize : 1024 ,
79
79
WriteBufferSize : 512 ,
80
- MaxIdleConns : & maxIdleConns ,
81
- MaxIdleConnsPerHost : & maxIdleConnsPerHost ,
82
- MaxConnsPerHost : & maxConnsPerHost ,
83
- IdleConnTimeout : & idleConnTimeout ,
80
+ MaxIdleConns : maxIdleConns ,
81
+ MaxIdleConnsPerHost : maxIdleConnsPerHost ,
82
+ MaxConnsPerHost : maxConnsPerHost ,
83
+ IdleConnTimeout : idleConnTimeout ,
84
84
Compression : "" ,
85
85
DisableKeepAlives : true ,
86
86
Cookies : & CookiesConfig {Enabled : true },
@@ -98,10 +98,10 @@ func TestAllHTTPClientSettings(t *testing.T) {
98
98
},
99
99
ReadBufferSize : 1024 ,
100
100
WriteBufferSize : 512 ,
101
- MaxIdleConns : & maxIdleConns ,
102
- MaxIdleConnsPerHost : & maxIdleConnsPerHost ,
103
- MaxConnsPerHost : & maxConnsPerHost ,
104
- IdleConnTimeout : & idleConnTimeout ,
101
+ MaxIdleConns : maxIdleConns ,
102
+ MaxIdleConnsPerHost : maxIdleConnsPerHost ,
103
+ MaxConnsPerHost : maxConnsPerHost ,
104
+ IdleConnTimeout : idleConnTimeout ,
105
105
Compression : "none" ,
106
106
DisableKeepAlives : true ,
107
107
HTTP2ReadIdleTimeout : idleConnTimeout ,
@@ -118,10 +118,10 @@ func TestAllHTTPClientSettings(t *testing.T) {
118
118
},
119
119
ReadBufferSize : 1024 ,
120
120
WriteBufferSize : 512 ,
121
- MaxIdleConns : & maxIdleConns ,
122
- MaxIdleConnsPerHost : & maxIdleConnsPerHost ,
123
- MaxConnsPerHost : & maxConnsPerHost ,
124
- IdleConnTimeout : & idleConnTimeout ,
121
+ MaxIdleConns : maxIdleConns ,
122
+ MaxIdleConnsPerHost : maxIdleConnsPerHost ,
123
+ MaxConnsPerHost : maxConnsPerHost ,
124
+ IdleConnTimeout : idleConnTimeout ,
125
125
Compression : "gzip" ,
126
126
DisableKeepAlives : true ,
127
127
HTTP2ReadIdleTimeout : idleConnTimeout ,
@@ -138,10 +138,10 @@ func TestAllHTTPClientSettings(t *testing.T) {
138
138
},
139
139
ReadBufferSize : 1024 ,
140
140
WriteBufferSize : 512 ,
141
- MaxIdleConns : & maxIdleConns ,
142
- MaxIdleConnsPerHost : & maxIdleConnsPerHost ,
143
- MaxConnsPerHost : & maxConnsPerHost ,
144
- IdleConnTimeout : & idleConnTimeout ,
141
+ MaxIdleConns : maxIdleConns ,
142
+ MaxIdleConnsPerHost : maxIdleConnsPerHost ,
143
+ MaxConnsPerHost : maxConnsPerHost ,
144
+ IdleConnTimeout : idleConnTimeout ,
145
145
Compression : "gzip" ,
146
146
DisableKeepAlives : true ,
147
147
HTTP2ReadIdleTimeout : idleConnTimeout ,
@@ -212,19 +212,19 @@ func TestPartialHTTPClientSettings(t *testing.T) {
212
212
transport := client .Transport .(* http.Transport )
213
213
assert .EqualValues (t , 1024 , transport .ReadBufferSize )
214
214
assert .EqualValues (t , 512 , transport .WriteBufferSize )
215
- assert .EqualValues (t , 100 , transport .MaxIdleConns )
215
+ assert .EqualValues (t , 0 , transport .MaxIdleConns )
216
216
assert .EqualValues (t , 0 , transport .MaxIdleConnsPerHost )
217
217
assert .EqualValues (t , 0 , transport .MaxConnsPerHost )
218
- assert .EqualValues (t , 90 * time . Second , transport .IdleConnTimeout )
218
+ assert .EqualValues (t , 0 , transport .IdleConnTimeout )
219
219
assert .False (t , transport .DisableKeepAlives )
220
220
})
221
221
}
222
222
}
223
223
224
224
func TestDefaultHTTPClientSettings (t * testing.T ) {
225
225
httpClientSettings := NewDefaultClientConfig ()
226
- assert .EqualValues (t , 100 , * httpClientSettings .MaxIdleConns )
227
- assert .EqualValues (t , 90 * time .Second , * httpClientSettings .IdleConnTimeout )
226
+ assert .EqualValues (t , 100 , httpClientSettings .MaxIdleConns )
227
+ assert .EqualValues (t , 90 * time .Second , httpClientSettings .IdleConnTimeout )
228
228
}
229
229
230
230
func TestProxyURL (t * testing.T ) {
@@ -1027,6 +1027,41 @@ func TestHttpClientHostHeader(t *testing.T) {
1027
1027
})
1028
1028
}
1029
1029
1030
+ func TestHttpTransportOptions (t * testing.T ) {
1031
+ settings := componenttest .NewNopTelemetrySettings ()
1032
+ // Disable OTel instrumentation so the *http.Transport object is directly accessible
1033
+ settings .MeterProvider = nil
1034
+ settings .TracerProvider = nil
1035
+
1036
+ clientConfig := NewDefaultClientConfig ()
1037
+ clientConfig .MaxIdleConns = 100
1038
+ clientConfig .IdleConnTimeout = time .Duration (100 )
1039
+ clientConfig .MaxConnsPerHost = 100
1040
+ clientConfig .MaxIdleConnsPerHost = 100
1041
+ client , err := clientConfig .ToClient (context .Background (), & mockHost {}, settings )
1042
+ require .NoError (t , err )
1043
+ transport , ok := client .Transport .(* http.Transport )
1044
+ require .True (t , ok , "client.Transport is not an *http.Transport" )
1045
+ require .Equal (t , 100 , transport .MaxIdleConns )
1046
+ require .Equal (t , time .Duration (100 ), transport .IdleConnTimeout )
1047
+ require .Equal (t , 100 , transport .MaxConnsPerHost )
1048
+ require .Equal (t , 100 , transport .MaxIdleConnsPerHost )
1049
+
1050
+ clientConfig = NewDefaultClientConfig ()
1051
+ clientConfig .MaxIdleConns = 0
1052
+ clientConfig .IdleConnTimeout = 0
1053
+ clientConfig .MaxConnsPerHost = 0
1054
+ clientConfig .IdleConnTimeout = time .Duration (0 )
1055
+ client , err = clientConfig .ToClient (context .Background (), & mockHost {}, settings )
1056
+ require .NoError (t , err )
1057
+ transport , ok = client .Transport .(* http.Transport )
1058
+ require .True (t , ok , "client.Transport is not an *http.Transport" )
1059
+ require .Equal (t , 0 , transport .MaxIdleConns )
1060
+ require .Equal (t , time .Duration (0 ), transport .IdleConnTimeout )
1061
+ require .Equal (t , 0 , transport .MaxConnsPerHost )
1062
+ require .Equal (t , 0 , transport .MaxIdleConnsPerHost )
1063
+ }
1064
+
1030
1065
func TestContextWithClient (t * testing.T ) {
1031
1066
testCases := []struct {
1032
1067
name string
0 commit comments