all repos — searchix @ 3dfbd8dd7212f74622ba4892efb34bf3487da09b

Search engine for NixOS, nix-darwin, home-manager and NUR users

feat: switch from errors to fault

Alan Pearce
commit

3dfbd8dd7212f74622ba4892efb34bf3487da09b

parent

e72b060271452e25bbcb2799fc19996ff73689fd

1 file changed, 9 insertions(+), 10 deletions(-)

changed files
M internal/fetcher/nixpkgs-channel.gointernal/fetcher/nixpkgs-channel.go
@@ -9,7 +9,8 @@ "alin.ovh/searchix/internal/fetcher/http"
"alin.ovh/searchix/internal/index" "alin.ovh/x/log" - "gitlab.com/tozd/go/errors" + "github.com/Southclaws/fault" + "github.com/Southclaws/fault/fmsg" ) type NixpkgsChannelFetcher struct {
@@ -17,16 +18,16 @@ Source *config.Source
Logger *log.Logger } -func makeChannelURL(channel string, subPath string) (string, errors.E) { +func makeChannelURL(channel string, subPath string) (string, error) { url, err := url.JoinPath("https://channels.nixos.org/", channel, subPath) - return url, errors.WithMessagef(err, "error creating URL") + return url, fault.Wrap(err, fmsg.Withf("error creating URL")) } func NewNixpkgsChannelFetcher( source *config.Source, logger *log.Logger, -) (*NixpkgsChannelFetcher, errors.E) { +) (*NixpkgsChannelFetcher, error) { switch source.Importer { case config.Options, config.Packages: return &NixpkgsChannelFetcher{
@@ -34,7 +35,7 @@ Source: source,
Logger: logger, }, nil default: - return nil, errors.Errorf("unsupported importer type %s", source.Importer) + return nil, fault.Newf("unsupported importer type %s", source.Importer) } }
@@ -47,7 +48,7 @@
func (i *NixpkgsChannelFetcher) FetchIfNeeded( ctx context.Context, sourceMeta *index.SourceMeta, -) (f *FetchedFiles, err errors.E) { +) (f *FetchedFiles, err error) { f = &FetchedFiles{} filesToFetch := make([]string, 2)
@@ -69,9 +70,7 @@
i.Logger.Debug("attempting to fetch file", "url", 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) - - return f, err + return f, fault.Wrap(err, fmsg.Withf("failed to fetch file with url %s", fetchURL)) } // don't bother to issue requests for the later files if mtime.Before(sourceMeta.Updated) {
@@ -87,7 +86,7 @@ f.Options = body
case packagesFileName: f.Packages = body default: - return f, errors.Errorf("unknown file kind %s", filename) + return f, fault.Newf("unknown file kind %s", filename) } }