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

fix: remove initial global HTTP client usage#20128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
zedkipp merged 2 commits intomainfromzedkipp/initial-rm-global-http-client
Oct 2, 2025
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletionagent/agent_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2027,7 +2027,8 @@ func runSubAgentMain() int {
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
defer cancel()
req = req.WithContext(ctx)
resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "agent connection failed: %v\n", err)
return 11
Expand Down
3 changes: 2 additions & 1 deletionagent/apphealth.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,6 +63,7 @@ func NewAppHealthReporterWithClock(
// run a ticker for each app health check.
var mu sync.RWMutex
failures := make(map[uuid.UUID]int, 0)
client := &http.Client{}
for _, nextApp := range apps {
if !shouldStartTicker(nextApp) {
continue
Expand DownExpand Up@@ -91,7 +92,7 @@ func NewAppHealthReporterWithClock(
if err != nil {
return err
}
res, err :=http.DefaultClient.Do(req)
res, err :=client.Do(req)
if err != nil {
return err
}
Expand Down
6 changes: 4 additions & 2 deletionscli/server_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -1254,8 +1254,9 @@ func TestServer(t *testing.T) {
t.Logf("error creating request: %s", err.Error())
return false
}
client := &http.Client{}
// nolint:bodyclose
res, err :=http.DefaultClient.Do(req)
res, err :=client.Do(req)
if err != nil {
t.Logf("error hitting prometheus endpoint: %s", err.Error())
return false
Expand DownExpand Up@@ -1316,8 +1317,9 @@ func TestServer(t *testing.T) {
t.Logf("error creating request: %s", err.Error())
return false
}
client := &http.Client{}
// nolint:bodyclose
res, err :=http.DefaultClient.Do(req)
res, err :=client.Do(req)
if err != nil {
t.Logf("error hitting prometheus endpoint: %s", err.Error())
return false
Expand Down
3 changes: 2 additions & 1 deletioncli/ssh_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -1242,7 +1242,8 @@ func TestSSH(t *testing.T) {
// true exits the loop.
return true
}
resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
t.Logf("HTTP GET http://localhost:8222/ %s", err)
return false
Expand Down
2 changes: 1 addition & 1 deletioncoderd/healthcheck/accessurl_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -55,7 +55,7 @@ func TestAccessURL(t *testing.T) {
defer cancel()

report.Run(ctx, &healthcheck.AccessURLReportOptions{
Client:nil, // defaults tohttp.DefaultClient
Client:&http.Client{},
AccessURL: nil,
})

Expand Down
3 changes: 2 additions & 1 deletioncoderd/healthcheck/derphealth/derp_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -511,7 +511,8 @@ func tsDERPMap(ctx context.Context, t testing.TB) *tailcfg.DERPMap {
req, err := http.NewRequestWithContext(ctx, "GET", ipn.DefaultControlURL+"/derpmap/default", nil)
require.NoError(t, err)

res, err := http.DefaultClient.Do(req)
client := &http.Client{}
res, err := client.Do(req)
require.NoError(t, err)
defer res.Body.Close()
require.Equal(t, http.StatusOK, res.StatusCode)
Expand Down
18 changes: 10 additions & 8 deletionscoderd/mcp/mcp_e2e_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -141,7 +141,8 @@ func TestMCPHTTP_E2E_UnauthenticatedAccess(t *testing.T) {
require.NoError(t, err, "Should be able to create HTTP request")
req.Header.Set("Content-Type", "application/json")

resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
require.NoError(t, err, "Should be able to make HTTP request")
defer resp.Body.Close()

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

tokenResp, err :=http.DefaultClient.Do(tokenReq)
tokenResp, err :=client.Do(tokenReq)
require.NoError(t, err)
defer tokenResp.Body.Close()

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

refreshResp, err :=http.DefaultClient.Do(refreshReq)
refreshResp, err :=client.Do(refreshReq)
require.NoError(t, err)
defer refreshResp.Body.Close()

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

// Dynamic client registration should not require authentication (public endpoint)
regResp, err :=http.DefaultClient.Do(regReq)
regResp, err :=client.Do(regReq)
require.NoError(t, err)
defer regResp.Body.Close()

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

tokenResp, err :=http.DefaultClient.Do(tokenReq)
tokenResp, err :=client.Do(tokenReq)
require.NoError(t, err)
defer tokenResp.Body.Close()

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

refreshResp, err :=http.DefaultClient.Do(refreshReq)
refreshResp, err :=client.Do(refreshReq)
require.NoError(t, err)
defer refreshResp.Body.Close()

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

regResp1, err := http.DefaultClient.Do(regReq1)
client := &http.Client{}
regResp1, err := client.Do(regReq1)
require.NoError(t, err)
defer regResp1.Body.Close()

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

regResp2, err :=http.DefaultClient.Do(regReq2)
regResp2, err :=client.Do(regReq2)
require.NoError(t, err)
defer regResp2.Body.Close()

Expand Down
6 changes: 4 additions & 2 deletionscoderd/oauth2_metadata_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -29,7 +29,8 @@ func TestOAuth2AuthorizationServerMetadata(t *testing.T) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, endpoint, nil)
require.NoError(t, err)

resp, err := http.DefaultClient.Do(req)
httpClient := &http.Client{}
resp, err := httpClient.Do(req)
require.NoError(t, err)
defer resp.Body.Close()

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

resp, err := http.DefaultClient.Do(req)
httpClient := &http.Client{}
resp, err := httpClient.Do(req)
require.NoError(t, err)
defer resp.Body.Close()

Expand Down
3 changes: 2 additions & 1 deletioncoderd/promoauth/oauth2_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -94,7 +94,8 @@ func TestInstrument(t *testing.T) {
must[*url.URL](t)(idp.IssuerURL().Parse("/.well-known/openid-configuration")).String(), nil)
require.NoError(t, err)

resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
require.NoError(t, err)
_ = resp.Body.Close()

Expand Down
4 changes: 3 additions & 1 deletioncoderd/telemetry/telemetry.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -87,6 +87,7 @@ func New(options Options) (Reporter, error) {
deploymentURL: deploymentURL,
snapshotURL: snapshotURL,
startedAt: dbtime.Now(),
client: &http.Client{},
}
go reporter.runSnapshotter()
return reporter, nil
Expand DownExpand Up@@ -119,6 +120,7 @@ type remoteReporter struct {
snapshotURL *url.URL
startedAt time.Time
shutdownAt *time.Time
client *http.Client
}

func (r *remoteReporter) Enabled() bool {
Expand All@@ -142,7 +144,7 @@ func (r *remoteReporter) reportSync(snapshot *Snapshot) {
return
}
req.Header.Set(VersionHeader, buildinfo.Version())
resp, err :=http.DefaultClient.Do(req)
resp, err :=r.client.Do(req)
if err != nil {
// If the request fails it's not necessarily an error.
// In an airgapped environment, it's fine if this fails!
Expand Down
9 changes: 6 additions & 3 deletionscodersdk/agentsdk/agentsdk_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -42,7 +42,8 @@ func TestStreamAgentReinitEvents(t *testing.T) {
requestCtx := testutil.Context(t, testutil.WaitShort)
req, err := http.NewRequestWithContext(requestCtx, "GET", srv.URL, nil)
require.NoError(t, err)
resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
require.NoError(t, err)
defer resp.Body.Close()

Expand DownExpand Up@@ -77,7 +78,8 @@ func TestStreamAgentReinitEvents(t *testing.T) {
requestCtx := testutil.Context(t, testutil.WaitShort)
req, err := http.NewRequestWithContext(requestCtx, "GET", srv.URL, nil)
require.NoError(t, err)
resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
require.NoError(t, err)
defer resp.Body.Close()

Expand DownExpand Up@@ -110,7 +112,8 @@ func TestStreamAgentReinitEvents(t *testing.T) {
requestCtx := testutil.Context(t, testutil.WaitShort)
req, err := http.NewRequestWithContext(requestCtx, "GET", srv.URL, nil)
require.NoError(t, err)
resp, err := http.DefaultClient.Do(req)
client := &http.Client{}
resp, err := client.Do(req)
require.NoError(t, err)
defer resp.Body.Close()

Expand Down
3 changes: 2 additions & 1 deletionenterprise/cli/provisionerdaemonstart_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -495,6 +495,7 @@ func TestProvisionerDaemon_PrometheusEnabled(t *testing.T) {
// Fetch metrics from Prometheus endpoint
var req *http.Request
var res *http.Response
httpClient := &http.Client{}
require.Eventually(t, func() bool {
req, err = http.NewRequestWithContext(ctx, "GET", fmt.Sprintf("http://127.0.0.1:%d", prometheusPort), nil)
if err != nil {
Expand All@@ -503,7 +504,7 @@ func TestProvisionerDaemon_PrometheusEnabled(t *testing.T) {
}

// nolint:bodyclose
res, err =http.DefaultClient.Do(req)
res, err =httpClient.Do(req)
if err != nil {
t.Logf("unable to call Prometheus endpoint: %s", err.Error())
return false
Expand Down
3 changes: 2 additions & 1 deletionenterprise/cli/proxyserver_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -114,11 +114,12 @@ func TestWorkspaceProxy_Server_PrometheusEnabled(t *testing.T) {

// Fetch metrics from Prometheus endpoint
var res *http.Response
client := &http.Client{}
require.Eventually(t, func() bool {
req, err := http.NewRequestWithContext(ctx, "GET", fmt.Sprintf("http://127.0.0.1:%d", prometheusPort), nil)
assert.NoError(t, err)
// nolint:bodyclose
res, err =http.DefaultClient.Do(req)
res, err =client.Do(req)
return err == nil
}, testutil.WaitShort, testutil.IntervalFast)
defer res.Body.Close()
Expand Down
3 changes: 2 additions & 1 deletionenterprise/cli/server_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -43,13 +43,14 @@ func TestServer_Single(t *testing.T) {
)
clitest.Start(t, inv.WithContext(ctx))
accessURL := waitAccessURL(t, cfg)
client := &http.Client{}
require.Eventually(t, func() bool {
reqCtx := testutil.Context(t, testutil.IntervalMedium)
req, err := http.NewRequestWithContext(reqCtx, http.MethodGet, accessURL.String()+"/healthz", nil)
if err != nil {
panic(err)
}
resp, err :=http.DefaultClient.Do(req)
resp, err :=client.Do(req)
if err != nil {
t.Log("/healthz not ready yet")
return false
Expand Down
3 changes: 2 additions & 1 deletionenterprise/coderd/coderd_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -595,6 +595,7 @@ func TestSCIMDisabled(t *testing.T) {
"/scim/v2/random/path/that/is/long.txt",
}

client := &http.Client{}
for _, p := range checkPaths {
t.Run(p, func(t *testing.T) {
t.Parallel()
Expand All@@ -605,7 +606,7 @@ func TestSCIMDisabled(t *testing.T) {
req, err := http.NewRequestWithContext(context.Background(), http.MethodGet, u.String(), nil)
require.NoError(t, err)

resp, err :=http.DefaultClient.Do(req)
resp, err :=client.Do(req)
require.NoError(t, err)
defer resp.Body.Close()
require.Equal(t, http.StatusNotFound, resp.StatusCode)
Expand Down
11 changes: 7 additions & 4 deletionsenterprise/wsproxy/wsproxy_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -689,12 +689,13 @@ func TestWorkspaceProxyDERPMeshProbe(t *testing.T) {
t.Log("all replicas have pinged")

// Check they're all healthy according to /healthz-report.
httpClient := &http.Client{}
for _, proxy := range proxies {
// GET /healthz-report
u := proxy.ServerURL.ResolveReference(&url.URL{Path: "/healthz-report"})
req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil)
require.NoError(t, err)
resp, err :=http.DefaultClient.Do(req)
resp, err :=httpClient.Do(req)
require.NoError(t, err)

var respJSON codersdk.ProxyHealthReport
Expand DownExpand Up@@ -781,7 +782,8 @@ func TestWorkspaceProxyDERPMeshProbe(t *testing.T) {
u := proxy.ServerURL.ResolveReference(&url.URL{Path: "/healthz-report"})
req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil)
require.NoError(t, err)
resp, err := http.DefaultClient.Do(req)
httpClient := &http.Client{}
resp, err := httpClient.Do(req)
require.NoError(t, err)

var respJSON codersdk.ProxyHealthReport
Expand DownExpand Up@@ -869,7 +871,8 @@ func TestWorkspaceProxyDERPMeshProbe(t *testing.T) {
u := proxy.ServerURL.ResolveReference(&url.URL{Path: "/healthz-report"})
req, err := http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil)
require.NoError(t, err)
resp, err := http.DefaultClient.Do(req)
httpClient := &http.Client{}
resp, err := httpClient.Do(req)
require.NoError(t, err)
var respJSON codersdk.ProxyHealthReport
err = json.NewDecoder(resp.Body).Decode(&respJSON)
Expand DownExpand Up@@ -903,7 +906,7 @@ func TestWorkspaceProxyDERPMeshProbe(t *testing.T) {
// GET /healthz-report
req, err = http.NewRequestWithContext(ctx, http.MethodGet, u.String(), nil)
require.NoError(t, err)
resp, err =http.DefaultClient.Do(req)
resp, err =httpClient.Do(req)
require.NoError(t, err)
err = json.NewDecoder(resp.Body).Decode(&respJSON)
resp.Body.Close()
Expand Down
3 changes: 2 additions & 1 deletionenterprise/x/aibridged/aibridged_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -70,6 +70,7 @@ func TestServeHTTP_FailureModes(t *testing.T) {
t.Parallel()

defaultHeaders := map[string]string{"Authorization": "Bearer key"}
httpClient := &http.Client{}

cases := []struct {
name string
Expand DownExpand Up@@ -155,7 +156,7 @@ func TestServeHTTP_FailureModes(t *testing.T) {
req.Header.Set(k, v)
}

resp, err :=http.DefaultClient.Do(req)
resp, err :=httpClient.Do(req)
t.Cleanup(func() {
if resp == nil || resp.Body == nil {
return
Expand Down
6 changes: 4 additions & 2 deletionssite/site_test.go
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -232,6 +232,7 @@ func TestServingFiles(t *testing.T) {
Database: db,
}))
defer srv.Close()
client := &http.Client{}

// Create a context
ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitShort)
Expand DownExpand Up@@ -275,7 +276,7 @@ func TestServingFiles(t *testing.T) {

req, err := http.NewRequestWithContext(ctx, "GET", path, nil)
require.NoError(t, err)
resp, err :=http.DefaultClient.Do(req)
resp, err :=client.Do(req)
require.NoError(t, err, "get file")
data, _ := io.ReadAll(resp.Body)
require.Equal(t, string(data), testCase.expected, "Verify file: "+testCase.path)
Expand DownExpand Up@@ -521,6 +522,7 @@ func TestServingBin(t *testing.T) {
compressor := middleware.NewCompressor(1, "text/*", "application/*")
srv := httptest.NewServer(compressor.Handler(site))
defer srv.Close()
client := &http.Client{}

// Create a context
ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitShort)
Expand All@@ -538,7 +540,7 @@ func TestServingBin(t *testing.T) {
req.Header.Set("Accept-Encoding", "gzip")
}

resp, err :=http.DefaultClient.Do(req)
resp, err :=client.Do(req)
require.NoError(t, err, "http do failed")
defer resp.Body.Close()

Expand Down
Loading

[8]ページ先頭

©2009-2025 Movatter.jp