From 3132dea6ddb764b5d64eb9319cfc9a7df5cf67db Mon Sep 17 00:00:00 2001 From: Igor Shishkin Date: Mon, 2 Sep 2024 18:25:15 +0300 Subject: [PATCH] Add err113 check (#206) Signed-off-by: Igor Shishkin --- .golangci.yml | 1 + manager/presenter/grpc/handlers.go | 5 +++-- publisher/presenter/html/handlers.go | 9 +++++---- .../cache/metadata/memcache/memcache.go | 19 ++++++++++--------- .../postgresql/migrations/migrations.go | 4 ++-- service/service.go | 2 +- 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index f87261c..cd31f5b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -7,6 +7,7 @@ linters: - decorder - dogsled - durationcheck + - err113 - errname - godox - gofmt diff --git a/manager/presenter/grpc/handlers.go b/manager/presenter/grpc/handlers.go index cdab4f8..0e7b2e9 100644 --- a/manager/presenter/grpc/handlers.go +++ b/manager/presenter/grpc/handlers.go @@ -3,6 +3,7 @@ package grpc import ( "context" + "github.com/pkg/errors" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -186,7 +187,7 @@ func (h *handlers) CreateObject(ctx context.Context, in *v1.CreateObjectRequest) func (h *handlers) ListObjects(ctx context.Context, in *v1.ListObjectsRequest) (*v1.ListObjectsResponse, error) { objects, err := h.svc.ListObjects(ctx, in.GetNamespace(), in.GetContainer(), in.GetVersion()) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return nil, status.Error(codes.NotFound, err.Error()) } return nil, mapServiceError(err) @@ -200,7 +201,7 @@ func (h *handlers) ListObjects(ctx context.Context, in *v1.ListObjectsRequest) ( func (h *handlers) GetObjectURL(ctx context.Context, in *v1.GetObjectURLRequest) (*v1.GetObjectURLResponse, error) { url, err := h.svc.GetObjectURL(ctx, in.GetNamespace(), in.GetContainer(), in.GetVersion(), in.GetKey()) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return nil, status.Error(codes.NotFound, err.Error()) } return nil, mapServiceError(err) diff --git a/publisher/presenter/html/handlers.go b/publisher/presenter/html/handlers.go index 19e38b5..9ab8ca6 100644 --- a/publisher/presenter/html/handlers.go +++ b/publisher/presenter/html/handlers.go @@ -10,6 +10,7 @@ import ( sprig "github.com/Masterminds/sprig/v3" echo "github.com/labstack/echo/v4" + "github.com/pkg/errors" log "github.com/sirupsen/logrus" "github.com/teran/archived/models" @@ -78,7 +79,7 @@ func (h *handlers) ContainerIndex(c echo.Context) error { pagesCount, containers, err := h.svc.ListContainersByPage(c.Request().Context(), namespace, page) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return c.Render(http.StatusNotFound, notFoundTemplateFilename, nil) } return err @@ -119,7 +120,7 @@ func (h *handlers) VersionIndex(c echo.Context) error { pagesCount, versions, err := h.svc.ListPublishedVersionsByPage(c.Request().Context(), namespace, container, page) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return c.Render(http.StatusNotFound, notFoundTemplateFilename, nil) } return err @@ -163,7 +164,7 @@ func (h *handlers) ObjectIndex(c echo.Context) error { pagesCount, objects, err := h.svc.ListObjectsByPage(c.Request().Context(), namespace, container, version, page) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return c.Render(http.StatusNotFound, notFoundTemplateFilename, nil) } return err @@ -202,7 +203,7 @@ func (h *handlers) GetObject(c echo.Context) error { link, err := h.svc.GetObjectURL(c.Request().Context(), namespace, container, version, key) if err != nil { - if err == service.ErrNotFound { + if errors.Is(err, service.ErrNotFound) { return c.Render(http.StatusNotFound, notFoundTemplateFilename, nil) } return err diff --git a/repositories/cache/metadata/memcache/memcache.go b/repositories/cache/metadata/memcache/memcache.go index 3c7637e..bce23bc 100644 --- a/repositories/cache/metadata/memcache/memcache.go +++ b/repositories/cache/metadata/memcache/memcache.go @@ -8,6 +8,7 @@ import ( "time" memcacheCli "github.com/bradfitz/gomemcache/memcache" + "github.com/pkg/errors" log "github.com/sirupsen/logrus" emodels "github.com/teran/archived/exporter/models" @@ -53,7 +54,7 @@ func (m *memcache) ListNamespaces(ctx context.Context) ([]string, error) { item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -106,7 +107,7 @@ func (m *memcache) ListContainers(ctx context.Context, namespace string) ([]mode item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -154,7 +155,7 @@ func (m *memcache) ListContainersByPage(ctx context.Context, namespace string, o item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -204,7 +205,7 @@ func (m *memcache) GetLatestPublishedVersionByContainer(ctx context.Context, nam item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -246,7 +247,7 @@ func (m *memcache) ListAllVersionsByContainer(ctx context.Context, namespace, co item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -288,7 +289,7 @@ func (m *memcache) ListPublishedVersionsByContainer(ctx context.Context, namespa item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -337,7 +338,7 @@ func (m *memcache) ListPublishedVersionsByContainerAndPage(ctx context.Context, item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -403,7 +404,7 @@ func (m *memcache) ListObjects(ctx context.Context, namespace, container, versio item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") @@ -459,7 +460,7 @@ func (m *memcache) GetBlobKeyByObject(ctx context.Context, namespace, container, item, err := m.cli.Get(cacheKey) if err != nil { - if err == memcacheCli.ErrCacheMiss { + if errors.Is(err, memcacheCli.ErrCacheMiss) { log.WithFields(log.Fields{ "key": cacheKey, }).Tracef("cache miss") diff --git a/repositories/metadata/postgresql/migrations/migrations.go b/repositories/metadata/postgresql/migrations/migrations.go index 2a26543..0dcdb2d 100644 --- a/repositories/metadata/postgresql/migrations/migrations.go +++ b/repositories/metadata/postgresql/migrations/migrations.go @@ -51,7 +51,7 @@ func migrateUpWithMigrationsPath(dsn, migrationsPath string) error { return err } - if err = m.Up(); err != nil && err != migrate.ErrNoChange { + if err = m.Up(); err != nil && !errors.Is(err, migrate.ErrNoChange) { return errors.Wrap(err, "error migrating database") } @@ -68,7 +68,7 @@ func migrateDownWithMigrationsPath(dsn, migrationsPath string) error { return err } - if err = m.Down(); err != nil && err != migrate.ErrNoChange { + if err = m.Down(); err != nil && !errors.Is(err, migrate.ErrNoChange) { return errors.Wrap(err, "error migrating database") } diff --git a/service/service.go b/service/service.go index f56340f..0b19f96 100644 --- a/service/service.go +++ b/service/service.go @@ -262,7 +262,7 @@ func (s *service) EnsureBLOBPresenceOrGetUploadURL(ctx context.Context, checksum return "", nil } - if err == metadata.ErrNotFound { + if errors.Is(err, metadata.ErrNotFound) { url, err := s.blobRepo.PutBlobURL(ctx, checksum) if err != nil { return "", err