refactor: extract http fetching to submodule
4 files changed, 7 insertions(+), 5 deletions(-)
M internal/fetcher/buf.go → internal/fetcher/http/buf.go
@@ -1,4 +1,4 @@ -package fetcher +package http import ( "bufio"
M internal/fetcher/download.go → internal/fetcher/download.go
@@ -5,6 +5,7 @@ "context" "net/url" "go.alanpearce.eu/searchix/internal/config" + "go.alanpearce.eu/searchix/internal/fetcher/http" "go.alanpearce.eu/searchix/internal/index" "gitlab.com/tozd/go/errors"@@ -67,7 +68,7 @@ } i.Logger.Debug("preparing to fetch URL", "url", fetchURL) - body, mtime, err := fetchFileIfNeeded(ctx, i.Logger, sourceUpdated, fetchURL) + body, mtime, err := http.FetchFileIfNeeded(ctx, i.Logger, sourceUpdated, fetchURL) if err != nil { i.Logger.Warn("failed to fetch file", "url", fetchURL, "error", err)
M internal/fetcher/http.go → internal/fetcher/http/http.go
@@ -1,4 +1,4 @@ -package fetcher +package http import ( "context"@@ -31,7 +31,7 @@ func (r *brotliReadCloser) Close() error { return errors.Wrap(r.src.Close(), "failed to call close on underlying reader") } -func fetchFileIfNeeded( +func FetchFileIfNeeded( ctx context.Context, log *log.Logger, mtime time.Time,
M internal/fetcher/nixpkgs-channel.go → internal/fetcher/nixpkgs-channel.go
@@ -5,6 +5,7 @@ "context" "net/url" "go.alanpearce.eu/searchix/internal/config" + "go.alanpearce.eu/searchix/internal/fetcher/http" "go.alanpearce.eu/searchix/internal/index" "gitlab.com/tozd/go/errors"@@ -66,7 +67,7 @@ return } i.Logger.Debug("attempting to fetch file", "url", fetchURL) - body, mtime, err := fetchFileIfNeeded(ctx, i.Logger, sourceMeta.Updated, fetchURL) + body, mtime, err := http.FetchFileIfNeeded(ctx, i.Logger, sourceMeta.Updated, fetchURL) if err != nil { i.Logger.Warn("failed to fetch file", "url", fetchURL, "error", err)