Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4d1003e

Browse files
authored
fix: remove initial global HTTP client usage (#20128)
This PR makes the initial steps at removing usage of the global Go HTTPclient, which was seen to have impacts on test flakiness incoder/internal#1020. The first commit removesuses from tests, with the exception of one test that is tightly coupledto the default client. The second commit makes easy/low-risk removalsfrom application code. This should have some impact to reduce test flakiness.
1 parent0d2ccac commit4d1003e

File tree

18 files changed

+59
-33
lines changed

18 files changed

+59
-33
lines changed

‎agent/agent_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2027,7 +2027,8 @@ func runSubAgentMain() int {
20272027
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
20282028
defercancel()
20292029
req=req.WithContext(ctx)
2030-
resp,err:=http.DefaultClient.Do(req)
2030+
client:=&http.Client{}
2031+
resp,err:=client.Do(req)
20312032
iferr!=nil {
20322033
_,_=fmt.Fprintf(os.Stderr,"agent connection failed: %v\n",err)
20332034
return11

‎agent/apphealth.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ func NewAppHealthReporterWithClock(
6363
// run a ticker for each app health check.
6464
varmu sync.RWMutex
6565
failures:=make(map[uuid.UUID]int,0)
66+
client:=&http.Client{}
6667
for_,nextApp:=rangeapps {
6768
if!shouldStartTicker(nextApp) {
6869
continue
@@ -91,7 +92,7 @@ func NewAppHealthReporterWithClock(
9192
iferr!=nil {
9293
returnerr
9394
}
94-
res,err:=http.DefaultClient.Do(req)
95+
res,err:=client.Do(req)
9596
iferr!=nil {
9697
returnerr
9798
}

‎cli/server_test.go‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1254,8 +1254,9 @@ func TestServer(t *testing.T) {
12541254
t.Logf("error creating request: %s",err.Error())
12551255
returnfalse
12561256
}
1257+
client:=&http.Client{}
12571258
// nolint:bodyclose
1258-
res,err:=http.DefaultClient.Do(req)
1259+
res,err:=client.Do(req)
12591260
iferr!=nil {
12601261
t.Logf("error hitting prometheus endpoint: %s",err.Error())
12611262
returnfalse
@@ -1316,8 +1317,9 @@ func TestServer(t *testing.T) {
13161317
t.Logf("error creating request: %s",err.Error())
13171318
returnfalse
13181319
}
1320+
client:=&http.Client{}
13191321
// nolint:bodyclose
1320-
res,err:=http.DefaultClient.Do(req)
1322+
res,err:=client.Do(req)
13211323
iferr!=nil {
13221324
t.Logf("error hitting prometheus endpoint: %s",err.Error())
13231325
returnfalse

‎cli/ssh_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1242,7 +1242,8 @@ func TestSSH(t *testing.T) {
12421242
// true exits the loop.
12431243
returntrue
12441244
}
1245-
resp,err:=http.DefaultClient.Do(req)
1245+
client:=&http.Client{}
1246+
resp,err:=client.Do(req)
12461247
iferr!=nil {
12471248
t.Logf("HTTP GET http://localhost:8222/ %s",err)
12481249
returnfalse

‎coderd/healthcheck/accessurl_test.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func TestAccessURL(t *testing.T) {
5555
defercancel()
5656

5757
report.Run(ctx,&healthcheck.AccessURLReportOptions{
58-
Client:nil,// defaults tohttp.DefaultClient
58+
Client:&http.Client{},
5959
AccessURL:nil,
6060
})
6161

‎coderd/healthcheck/derphealth/derp_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,8 @@ func tsDERPMap(ctx context.Context, t testing.TB) *tailcfg.DERPMap {
511511
req,err:=http.NewRequestWithContext(ctx,"GET",ipn.DefaultControlURL+"/derpmap/default",nil)
512512
require.NoError(t,err)
513513

514-
res,err:=http.DefaultClient.Do(req)
514+
client:=&http.Client{}
515+
res,err:=client.Do(req)
515516
require.NoError(t,err)
516517
deferres.Body.Close()
517518
require.Equal(t,http.StatusOK,res.StatusCode)

‎coderd/mcp/mcp_e2e_test.go‎

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@ func TestMCPHTTP_E2E_UnauthenticatedAccess(t *testing.T) {
141141
require.NoError(t,err,"Should be able to create HTTP request")
142142
req.Header.Set("Content-Type","application/json")
143143

144-
resp,err:=http.DefaultClient.Do(req)
144+
client:=&http.Client{}
145+
resp,err:=client.Do(req)
145146
require.NoError(t,err,"Should be able to make HTTP request")
146147
deferresp.Body.Close()
147148

@@ -613,7 +614,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
613614
require.NoError(t,err)
614615
tokenReq.Header.Set("Content-Type","application/x-www-form-urlencoded")
615616

616-
tokenResp,err:=http.DefaultClient.Do(tokenReq)
617+
tokenResp,err:=client.Do(tokenReq)
617618
require.NoError(t,err)
618619
defertokenResp.Body.Close()
619620

@@ -711,7 +712,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
711712
require.NoError(t,err)
712713
refreshReq.Header.Set("Content-Type","application/x-www-form-urlencoded")
713714

714-
refreshResp,err:=http.DefaultClient.Do(refreshReq)
715+
refreshResp,err:=client.Do(refreshReq)
715716
require.NoError(t,err)
716717
deferrefreshResp.Body.Close()
717718

@@ -846,7 +847,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
846847
regReq.Header.Set("Content-Type","application/json")
847848

848849
// Dynamic client registration should not require authentication (public endpoint)
849-
regResp,err:=http.DefaultClient.Do(regReq)
850+
regResp,err:=client.Do(regReq)
850851
require.NoError(t,err)
851852
deferregResp.Body.Close()
852853

@@ -936,7 +937,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
936937
require.NoError(t,err)
937938
tokenReq.Header.Set("Content-Type","application/x-www-form-urlencoded")
938939

939-
tokenResp,err:=http.DefaultClient.Do(tokenReq)
940+
tokenResp,err:=client.Do(tokenReq)
940941
require.NoError(t,err)
941942
defertokenResp.Body.Close()
942943

@@ -1037,7 +1038,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
10371038
require.NoError(t,err)
10381039
refreshReq.Header.Set("Content-Type","application/x-www-form-urlencoded")
10391040

1040-
refreshResp,err:=http.DefaultClient.Do(refreshReq)
1041+
refreshResp,err:=client.Do(refreshReq)
10411042
require.NoError(t,err)
10421043
deferrefreshResp.Body.Close()
10431044

@@ -1151,7 +1152,8 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
11511152
require.NoError(t,err)
11521153
regReq1.Header.Set("Content-Type","application/json")
11531154

1154-
regResp1,err:=http.DefaultClient.Do(regReq1)
1155+
client:=&http.Client{}
1156+
regResp1,err:=client.Do(regReq1)
11551157
require.NoError(t,err)
11561158
deferregResp1.Body.Close()
11571159

@@ -1181,7 +1183,7 @@ func TestMCPHTTP_E2E_OAuth2_EndToEnd(t *testing.T) {
11811183
require.NoError(t,err)
11821184
regReq2.Header.Set("Content-Type","application/json")
11831185

1184-
regResp2,err:=http.DefaultClient.Do(regReq2)
1186+
regResp2,err:=client.Do(regReq2)
11851187
require.NoError(t,err)
11861188
deferregResp2.Body.Close()
11871189

‎coderd/oauth2_metadata_test.go‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ func TestOAuth2AuthorizationServerMetadata(t *testing.T) {
2929
req,err:=http.NewRequestWithContext(ctx,http.MethodGet,endpoint,nil)
3030
require.NoError(t,err)
3131

32-
resp,err:=http.DefaultClient.Do(req)
32+
httpClient:=&http.Client{}
33+
resp,err:=httpClient.Do(req)
3334
require.NoError(t,err)
3435
deferresp.Body.Close()
3536

@@ -65,7 +66,8 @@ func TestOAuth2ProtectedResourceMetadata(t *testing.T) {
6566
req,err:=http.NewRequestWithContext(ctx,http.MethodGet,endpoint,nil)
6667
require.NoError(t,err)
6768

68-
resp,err:=http.DefaultClient.Do(req)
69+
httpClient:=&http.Client{}
70+
resp,err:=httpClient.Do(req)
6971
require.NoError(t,err)
7072
deferresp.Body.Close()
7173

‎coderd/promoauth/oauth2_test.go‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ func TestInstrument(t *testing.T) {
9494
must[*url.URL](t)(idp.IssuerURL().Parse("/.well-known/openid-configuration")).String(),nil)
9595
require.NoError(t,err)
9696

97-
resp,err:=http.DefaultClient.Do(req)
97+
client:=&http.Client{}
98+
resp,err:=client.Do(req)
9899
require.NoError(t,err)
99100
_=resp.Body.Close()
100101

‎coderd/telemetry/telemetry.go‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ func New(options Options) (Reporter, error) {
8787
deploymentURL:deploymentURL,
8888
snapshotURL:snapshotURL,
8989
startedAt:dbtime.Now(),
90+
client:&http.Client{},
9091
}
9192
goreporter.runSnapshotter()
9293
returnreporter,nil
@@ -119,6 +120,7 @@ type remoteReporter struct {
119120
snapshotURL*url.URL
120121
startedAt time.Time
121122
shutdownAt*time.Time
123+
client*http.Client
122124
}
123125

124126
func (r*remoteReporter)Enabled()bool {
@@ -142,7 +144,7 @@ func (r *remoteReporter) reportSync(snapshot *Snapshot) {
142144
return
143145
}
144146
req.Header.Set(VersionHeader,buildinfo.Version())
145-
resp,err:=http.DefaultClient.Do(req)
147+
resp,err:=r.client.Do(req)
146148
iferr!=nil {
147149
// If the request fails it's not necessarily an error.
148150
// In an airgapped environment, it's fine if this fails!

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp