Errors: Remove direct dependencies on github.com/pkg/errors (#64026)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
This commit is contained in:
Emil Tullstedt 2023-03-02 16:28:10 +01:00 committed by GitHub
parent 8c8f584b41
commit 10ee900beb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 23 additions and 22 deletions

View File

@ -20,6 +20,7 @@ packages = ["io/ioutil"]
[[linters-settings.depguard.packages-with-error-message]] [[linters-settings.depguard.packages-with-error-message]]
"io/ioutil" = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details." "io/ioutil" = "Deprecated: As of Go 1.16, the same functionality is now provided by package io or package os, and those implementations should be preferred in new code. See the specific function documentation for details."
"gopkg.in/yaml.v2" = "Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available" "gopkg.in/yaml.v2" = "Grafana packages are not allowed to depend on gopkg.in/yaml.v2 as gopkg.in/yaml.v3 is now available"
"github.com/pkg/errors" = "Deprecated: Go 1.13 supports the functionality provided by pkg/errors in the standard library."
[linters-settings.gocritic] [linters-settings.gocritic]
enabled-checks = ["ruleguard"] enabled-checks = ["ruleguard"]

2
go.mod
View File

@ -91,7 +91,7 @@ require (
github.com/opentracing/opentracing-go v1.2.0 github.com/opentracing/opentracing-go v1.2.0
github.com/patrickmn/go-cache v2.1.0+incompatible github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/alertmanager v0.25.0 github.com/prometheus/alertmanager v0.25.0
github.com/prometheus/client_golang v1.14.0 github.com/prometheus/client_golang v1.14.0
github.com/prometheus/client_model v0.3.0 github.com/prometheus/client_model v0.3.0

2
go.sum
View File

@ -1283,8 +1283,6 @@ github.com/grafana/saml v0.4.13-0.20230203140620-5f476db5c00a h1:aWSTt/pTOI4uGY9
github.com/grafana/saml v0.4.13-0.20230203140620-5f476db5c00a/go.mod h1:igEejV+fihTIlHXYP8zOec3V5A8y3lws5bQBFsTm4gA= github.com/grafana/saml v0.4.13-0.20230203140620-5f476db5c00a/go.mod h1:igEejV+fihTIlHXYP8zOec3V5A8y3lws5bQBFsTm4gA=
github.com/grafana/sqlds/v2 v2.3.10 h1:HWKhE0vR6LoEiE+Is8CSZOgaB//D1yqb2ntkass9Fd4= github.com/grafana/sqlds/v2 v2.3.10 h1:HWKhE0vR6LoEiE+Is8CSZOgaB//D1yqb2ntkass9Fd4=
github.com/grafana/sqlds/v2 v2.3.10/go.mod h1:c6ibxnxRVGxV/0YkEgvy7QpQH/lyifFyV7K/14xvdIs= github.com/grafana/sqlds/v2 v2.3.10/go.mod h1:c6ibxnxRVGxV/0YkEgvy7QpQH/lyifFyV7K/14xvdIs=
github.com/grafana/thema v0.0.0-20230223160728-4226e958935a h1:5DSEQFi/pr7pYokTEvhVe94n5s6p771+PKD/GjaoP+s=
github.com/grafana/thema v0.0.0-20230223160728-4226e958935a/go.mod h1:T6q1RVzq5fzVbm+QBeIsTmVzuXlMaArp4wxfLvcaMV0=
github.com/grafana/thema v0.0.0-20230224141623-cb20887cb028 h1:6DXb3CmghXpjtd0VjK1FDEjvHhNcXfYSxUcEfxyMx9w= github.com/grafana/thema v0.0.0-20230224141623-cb20887cb028 h1:6DXb3CmghXpjtd0VjK1FDEjvHhNcXfYSxUcEfxyMx9w=
github.com/grafana/thema v0.0.0-20230224141623-cb20887cb028/go.mod h1:T6q1RVzq5fzVbm+QBeIsTmVzuXlMaArp4wxfLvcaMV0= github.com/grafana/thema v0.0.0-20230224141623-cb20887cb028/go.mod h1:T6q1RVzq5fzVbm+QBeIsTmVzuXlMaArp4wxfLvcaMV0=
github.com/grafana/xorm v0.8.3-0.20220614223926-2fcda7565af6 h1:I9dh1MXGX0wGyxdV/Sl7+ugnki4Dfsy8lv2s5Yf887o= github.com/grafana/xorm v0.8.3-0.20220614223926-2fcda7565af6 h1:I9dh1MXGX0wGyxdV/Sl7+ugnki4Dfsy8lv2s5Yf887o=

View File

@ -19,7 +19,6 @@ import (
_ "github.com/jung-kurt/gofpdf" _ "github.com/jung-kurt/gofpdf"
_ "github.com/linkedin/goavro/v2" _ "github.com/linkedin/goavro/v2"
_ "github.com/m3db/prometheus_remote_client_golang/promremote" _ "github.com/m3db/prometheus_remote_client_golang/promremote"
_ "github.com/pkg/errors"
_ "github.com/robfig/cron/v3" _ "github.com/robfig/cron/v3"
_ "github.com/russellhaering/goxmldsig" _ "github.com/russellhaering/goxmldsig"
_ "github.com/stretchr/testify/require" _ "github.com/stretchr/testify/require"

View File

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/pkg/errors"
"xorm.io/xorm" "xorm.io/xorm"
"github.com/grafana/grafana/pkg/infra/db" "github.com/grafana/grafana/pkg/infra/db"
@ -132,7 +131,7 @@ func (ss *sqlStore) AddAPIKey(ctx context.Context, cmd *apikey.AddCommand) error
} }
if _, err := sess.Insert(&t); err != nil { if _, err := sess.Insert(&t); err != nil {
return errors.Wrap(err, "failed to insert token") return fmt.Errorf("%s: %w", "failed to insert token", err)
} }
cmd.Result = &t cmd.Result = &t
return nil return nil

View File

@ -3,6 +3,7 @@ package api
import ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"io" "io"
"net/http" "net/http"
@ -11,7 +12,6 @@ import (
"strconv" "strconv"
"strings" "strings"
"github.com/pkg/errors"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"github.com/grafana/grafana/pkg/api/response" "github.com/grafana/grafana/pkg/api/response"
@ -206,13 +206,15 @@ func messageExtractor(resp *response.NormalResponse) (interface{}, error) {
// ErrorResp creates a response with a visible error // ErrorResp creates a response with a visible error
func ErrResp(status int, err error, msg string, args ...interface{}) *response.NormalResponse { func ErrResp(status int, err error, msg string, args ...interface{}) *response.NormalResponse {
if msg != "" { if msg != "" {
err = errors.WithMessagef(err, msg, args...) formattedMsg := fmt.Sprintf(msg, args...)
err = fmt.Errorf("%s: %w", formattedMsg, err)
} }
return response.Error(status, err.Error(), err) return response.Error(status, err.Error(), err)
} }
// accessForbiddenResp creates a response of forbidden access. // accessForbiddenResp creates a response of forbidden access.
func accessForbiddenResp() response.Response { func accessForbiddenResp() response.Response {
//nolint:stylecheck // Grandfathered capitalization of error.
return ErrResp(http.StatusForbidden, errors.New("Permission denied"), "") return ErrResp(http.StatusForbidden, errors.New("Permission denied"), "")
} }

View File

@ -243,7 +243,7 @@ func GetNamespacedKVStore(kv kvstore.KVStore) *kvstore.NamespacedKVStore {
func IsPluginStartupErrorFatal(ctx context.Context, kvstore *kvstore.NamespacedKVStore) (bool, error) { func IsPluginStartupErrorFatal(ctx context.Context, kvstore *kvstore.NamespacedKVStore) (bool, error) {
_, exists, err := kvstore.Get(ctx, QuitOnPluginStartupFailureKey) _, exists, err := kvstore.Get(ctx, QuitOnPluginStartupFailureKey)
if err != nil { if err != nil {
return false, errors.New(fmt.Sprint("error retrieving key ", QuitOnPluginStartupFailureKey, " from kvstore. error: ", err.Error())) return false, fmt.Errorf("error retrieving key %s from kvstore. error: %w", QuitOnPluginStartupFailureKey, err)
} }
return exists, nil return exists, nil
} }

View File

@ -2,8 +2,8 @@ package database
import ( import (
"context" "context"
"errors"
"github.com/pkg/errors" "fmt"
"github.com/grafana/grafana/pkg/infra/db" "github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/services/apikey" "github.com/grafana/grafana/pkg/services/apikey"
@ -33,7 +33,10 @@ func (s *ServiceAccountsStoreImpl) ListTokens(
sess = sess.Join("inner", quotedUser, quotedUser+".id = api_key.service_account_id"). sess = sess.Join("inner", quotedUser, quotedUser+".id = api_key.service_account_id").
Asc("api_key.name") Asc("api_key.name")
return errors.Wrapf(sess.Find(&result), "list token error") if err := sess.Find(&result); err != nil {
return fmt.Errorf("%s: %w", "list token error", err)
}
return nil
}) })
return result, err return result, err
} }

View File

@ -5,13 +5,12 @@ import (
"context" "context"
"crypto/tls" "crypto/tls"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"net" "net"
"net/http" "net/http"
"strings" "strings"
"time" "time"
"github.com/pkg/errors"
) )
const timeout = 4 * time.Second const timeout = 4 * time.Second
@ -100,7 +99,7 @@ func (c *client) checkTokens(ctx context.Context, keyHashes []string) ([]Token,
jsonValue, err := json.Marshal(values) jsonValue, err := json.Marshal(values)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to make http request") return nil, fmt.Errorf("%s: %w", "failed to make http request", err)
} }
// Build URL // Build URL
@ -109,7 +108,7 @@ func (c *client) checkTokens(ctx context.Context, keyHashes []string) ([]Token,
req, err := http.NewRequestWithContext(ctx, http.MethodPost, req, err := http.NewRequestWithContext(ctx, http.MethodPost,
url, bytes.NewReader(jsonValue)) url, bytes.NewReader(jsonValue))
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to make http request") return nil, fmt.Errorf("%s: %w", "failed to make http request", err)
} }
// Set headers // Set headers
@ -120,7 +119,7 @@ func (c *client) checkTokens(ctx context.Context, keyHashes []string) ([]Token,
// make http POST request to check for leaked tokens. // make http POST request to check for leaked tokens.
resp, err := c.httpClient.Do(req) resp, err := c.httpClient.Do(req)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to do http request") return nil, fmt.Errorf("%s: %w", "failed to do http request", err)
} }
defer func() { _ = resp.Body.Close() }() defer func() { _ = resp.Body.Close() }()
@ -132,7 +131,7 @@ func (c *client) checkTokens(ctx context.Context, keyHashes []string) ([]Token,
// decode response body // decode response body
var tokens []Token var tokens []Token
if err := json.NewDecoder(resp.Body).Decode(&tokens); err != nil { if err := json.NewDecoder(resp.Body).Decode(&tokens); err != nil {
return nil, errors.Wrap(err, "failed to decode response body") return nil, fmt.Errorf("%s: %w", "failed to decode response body", err)
} }
return tokens, nil return tokens, nil

View File

@ -5,6 +5,7 @@ import (
"context" "context"
"crypto/tls" "crypto/tls"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"net" "net"
"net/http" "net/http"
@ -12,7 +13,6 @@ import (
"time" "time"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/pkg/errors"
) )
var errWebHookURL = errors.New("webhook url must be https") var errWebHookURL = errors.New("webhook url must be https")
@ -76,7 +76,7 @@ func (wClient *webHookClient) Notify(ctx context.Context,
jsonValue, err := json.Marshal(values) jsonValue, err := json.Marshal(values)
if err != nil { if err != nil {
return errors.Wrap(err, "failed to marshal webhook request") return fmt.Errorf("%s: %w", "failed to marshal webhook request", err)
} }
// Build URL // Build URL
@ -84,7 +84,7 @@ func (wClient *webHookClient) Notify(ctx context.Context,
req, err := http.NewRequestWithContext(ctx, http.MethodPost, req, err := http.NewRequestWithContext(ctx, http.MethodPost,
wClient.url, bytes.NewReader(jsonValue)) wClient.url, bytes.NewReader(jsonValue))
if err != nil { if err != nil {
return errors.Wrap(err, "failed to make http request") return fmt.Errorf("%s: %w", "failed to make http request", err)
} }
// Set headers // Set headers
@ -95,7 +95,7 @@ func (wClient *webHookClient) Notify(ctx context.Context,
// make http POST request to check for leaked tokens. // make http POST request to check for leaked tokens.
resp, err := wClient.httpClient.Do(req) resp, err := wClient.httpClient.Do(req)
if err != nil { if err != nil {
return errors.Wrap(err, "failed to webhook request") return fmt.Errorf("%s: %w", "failed to webhook request", err)
} }
defer func() { _ = resp.Body.Close() }() defer func() { _ = resp.Body.Close() }()