Skip to content

Commit 07e5831

Browse files
authored
Merge pull request #29 from git-pkgs/fix-metadata-http-client
Use shared HTTP client for upstream metadata requests
2 parents 73b9633 + e2a683c commit 07e5831

19 files changed

Lines changed: 42 additions & 36 deletions

internal/handler/cargo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (h *CargoHandler) handleIndex(w http.ResponseWriter, r *http.Request) {
9090
return
9191
}
9292

93-
resp, err := http.DefaultClient.Do(req)
93+
resp, err := h.proxy.HTTPClient.Do(req)
9494
if err != nil {
9595
h.proxy.Logger.Error("failed to fetch upstream index", "error", err)
9696
http.Error(w, "failed to fetch from upstream", http.StatusBadGateway)

internal/handler/cargo_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import (
1010

1111
func cargoTestProxy() *Proxy {
1212
return &Proxy{
13-
Logger: slog.Default(),
13+
Logger: slog.Default(),
14+
HTTPClient: http.DefaultClient,
1415
}
1516
}
1617

internal/handler/composer.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func (h *ComposerHandler) handlePackageMetadata(w http.ResponseWriter, r *http.R
9494
return
9595
}
9696

97-
resp, err := http.DefaultClient.Do(req)
97+
resp, err := h.proxy.HTTPClient.Do(req)
9898
if err != nil {
9999
h.proxy.Logger.Error("upstream request failed", "error", err)
100100
http.Error(w, "upstream request failed", http.StatusBadGateway)
@@ -221,7 +221,7 @@ func (h *ComposerHandler) handleDownload(w http.ResponseWriter, r *http.Request)
221221
return
222222
}
223223

224-
resp, err := http.DefaultClient.Do(req)
224+
resp, err := h.proxy.HTTPClient.Do(req)
225225
if err != nil {
226226
h.proxy.Logger.Error("failed to fetch metadata", "error", err)
227227
http.Error(w, "failed to fetch metadata", http.StatusBadGateway)
@@ -302,7 +302,7 @@ func (h *ComposerHandler) proxyUpstream(w http.ResponseWriter, r *http.Request)
302302
return
303303
}
304304

305-
resp, err := http.DefaultClient.Do(req)
305+
resp, err := h.proxy.HTTPClient.Do(req)
306306
if err != nil {
307307
h.proxy.Logger.Error("upstream request failed", "error", err)
308308
http.Error(w, "upstream request failed", http.StatusBadGateway)

internal/handler/conan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func (h *ConanHandler) proxyUpstream(w http.ResponseWriter, r *http.Request) {
167167
req.Header.Set("Authorization", auth)
168168
}
169169

170-
resp, err := http.DefaultClient.Do(req)
170+
resp, err := h.proxy.HTTPClient.Do(req)
171171
if err != nil {
172172
h.proxy.Logger.Error("upstream request failed", "error", err)
173173
http.Error(w, "upstream request failed", http.StatusBadGateway)

internal/handler/conda.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ func (h *CondaHandler) proxyUpstream(w http.ResponseWriter, r *http.Request) {
136136
req.Header.Set("Accept-Encoding", ae)
137137
}
138138

139-
resp, err := http.DefaultClient.Do(req)
139+
resp, err := h.proxy.HTTPClient.Do(req)
140140
if err != nil {
141141
h.proxy.Logger.Error("upstream request failed", "error", err)
142142
http.Error(w, "upstream request failed", http.StatusBadGateway)

internal/handler/container.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ func (h *ContainerHandler) handleManifest(w http.ResponseWriter, r *http.Request
172172
}, ", "))
173173
}
174174

175-
resp, err := http.DefaultClient.Do(req)
175+
resp, err := h.proxy.HTTPClient.Do(req)
176176
if err != nil {
177177
h.proxy.Logger.Error("failed to fetch manifest", "error", err)
178178
h.containerError(w, http.StatusBadGateway, "INTERNAL_ERROR", "failed to fetch from upstream")
@@ -224,7 +224,7 @@ func (h *ContainerHandler) handleTagsList(w http.ResponseWriter, r *http.Request
224224

225225
req.Header.Set("Authorization", "Bearer "+token)
226226

227-
resp, err := http.DefaultClient.Do(req)
227+
resp, err := h.proxy.HTTPClient.Do(req)
228228
if err != nil {
229229
h.containerError(w, http.StatusBadGateway, "INTERNAL_ERROR", "failed to fetch from upstream")
230230
return
@@ -248,7 +248,7 @@ func (h *ContainerHandler) getAuthToken(_ interface{ Done() <-chan struct{} }, r
248248
return "", err
249249
}
250250

251-
resp, err := http.DefaultClient.Do(req)
251+
resp, err := h.proxy.HTTPClient.Do(req)
252252
if err != nil {
253253
return "", err
254254
}
@@ -285,7 +285,7 @@ func (h *ContainerHandler) proxyBlobHead(w http.ResponseWriter, r *http.Request,
285285

286286
req.Header.Set("Authorization", "Bearer "+token)
287287

288-
resp, err := http.DefaultClient.Do(req)
288+
resp, err := h.proxy.HTTPClient.Do(req)
289289
if err != nil {
290290
h.containerError(w, http.StatusBadGateway, "INTERNAL_ERROR", "failed to fetch from upstream")
291291
return
@@ -313,7 +313,7 @@ func (h *ContainerHandler) proxyBlobWithAuth(w http.ResponseWriter, r *http.Requ
313313

314314
req.Header.Set("Authorization", "Bearer "+token)
315315

316-
resp, err := http.DefaultClient.Do(req)
316+
resp, err := h.proxy.HTTPClient.Do(req)
317317
if err != nil {
318318
h.containerError(w, http.StatusBadGateway, "INTERNAL_ERROR", "failed to fetch from upstream")
319319
return

internal/handler/cran.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func (h *CRANHandler) proxyUpstream(w http.ResponseWriter, r *http.Request) {
167167
req.Header.Set("Accept-Encoding", ae)
168168
}
169169

170-
resp, err := http.DefaultClient.Do(req)
170+
resp, err := h.proxy.HTTPClient.Do(req)
171171
if err != nil {
172172
h.proxy.Logger.Error("upstream request failed", "error", err)
173173
http.Error(w, "upstream request failed", http.StatusBadGateway)

internal/handler/debian.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ func (h *DebianHandler) handleMetadata(w http.ResponseWriter, r *http.Request, p
110110
}
111111
}
112112

113-
resp, err := http.DefaultClient.Do(req)
113+
resp, err := h.proxy.HTTPClient.Do(req)
114114
if err != nil {
115115
h.proxy.Logger.Error("failed to fetch upstream metadata", "error", err)
116116
http.Error(w, "failed to fetch from upstream", http.StatusBadGateway)
@@ -139,7 +139,7 @@ func (h *DebianHandler) proxyFile(w http.ResponseWriter, r *http.Request, path s
139139
return
140140
}
141141

142-
resp, err := http.DefaultClient.Do(req)
142+
resp, err := h.proxy.HTTPClient.Do(req)
143143
if err != nil {
144144
http.Error(w, "failed to fetch from upstream", http.StatusBadGateway)
145145
return

internal/handler/gem.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func (h *GemHandler) proxyUpstream(w http.ResponseWriter, r *http.Request) {
120120
}
121121
}
122122

123-
resp, err := http.DefaultClient.Do(req)
123+
resp, err := h.proxy.HTTPClient.Do(req)
124124
if err != nil {
125125
h.proxy.Logger.Error("upstream request failed", "error", err)
126126
http.Error(w, "upstream request failed", http.StatusBadGateway)

internal/handler/go.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func (h *GoHandler) proxyUpstream(w http.ResponseWriter, r *http.Request) {
118118
return
119119
}
120120

121-
resp, err := http.DefaultClient.Do(req)
121+
resp, err := h.proxy.HTTPClient.Do(req)
122122
if err != nil {
123123
h.proxy.Logger.Error("upstream request failed", "error", err)
124124
http.Error(w, "upstream request failed", http.StatusBadGateway)

0 commit comments

Comments
 (0)