internal/pkg: pass context in request wrapper
All checks were successful
Test / Create distribution (push) Successful in 42s
Test / Sandbox (push) Successful in 2m29s
Test / Hakurei (push) Successful in 3m34s
Test / ShareFS (push) Successful in 3m40s
Test / Hpkg (push) Successful in 4m32s
Test / Sandbox (race detector) (push) Successful in 4m48s
Test / Hakurei (race detector) (push) Successful in 5m49s
Test / Flake checks (push) Successful in 1m46s

This method is for the most common use case, and in actual use there will always be an associated context.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-03 23:53:52 +09:00
parent 40081e7a06
commit 05202cf994
2 changed files with 50 additions and 9 deletions

View File

@@ -1,6 +1,7 @@
package pkg
import (
"context"
"crypto/sha512"
"errors"
"io"
@@ -45,8 +46,13 @@ func (c *Cache) NewHTTP(hc *http.Client, req *http.Request, checksum Checksum) F
// NewHTTPGet returns a new [File] backed by the supplied client. A GET request
// is set up for url. If c is nil, [http.DefaultClient] is used instead.
func (c *Cache) NewHTTPGet(hc *http.Client, url string, checksum Checksum) (File, error) {
req, err := http.NewRequest(http.MethodGet, url, nil)
func (c *Cache) NewHTTPGet(
ctx context.Context,
hc *http.Client,
url string,
checksum Checksum,
) (File, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil)
if err != nil {
return nil, err
}